ARCHITECTURE LAYER New            
  Schema   Changed   affects P21 file -->  
  Entity / Function   Deleted     not upward compatible
      Attribute / WR       Usage Change description    
         
  IfcGeometricConstraintResource        
  IfcPointOrVertexPoint x   New select type to enable connection between geometry and topology    
  IfcCurveOrEdgeCurve x   New select type to enable connection between geometry and topology    
  IfcSurfaceOrFaceSurface x   New select type to enable connection between geometry and topology    
  IfcConnectionPointEccentricity x   New entity to support eccentricity between structural items x  
  EccentricityInX x   New attribute    
  EccentricityInY x   New attribute    
  EccentricityInZ x   New attribute    
  IfcConnectionPointGeometry     x  
  PointOnRelatedElement   x   attribute type changed to IfcPointOrVertexPoint    
  PointOnRelatingElement   x   attribute type changed to IfcPointOrVertexPoint    
  IfcConnectionCurveGeometry     x  
  PointOnRelatedElement   x   attribute type changed to IfcCurveOrEdgeCurve    
  PointOnRelatingElement   x   attribute type changed to IfcCurveOrEdgeCurve    
  IfcConnectionSurfaceGeometry     x  
  PointOnRelatedElement   x   attribute type changed to IfcSurfaceOrFaceSurface    
  PointOnRelatingElement   x   attribute type changed to IfcSurfaceOrFaceSurface    
  IfcGridAxis        
  (INV)PartOfU x   new inverse relationship to IfcGrid    
  (INV)PartOfV x   new inverse relationship to IfcGrid    
  (INV)PartOfW x   new inverse relationship to IfcGrid    
  (INV)HasIntersections x   new inverse relationship to IfcVirtualGridIntersection    
  IfcObjectPlacement        
  (INV) PlacesObjects x   new inverse relationship to IfcProduct    
         
  IfcGeometricModelResource        
  IfcBlock x   new entity to describe CSG primitives x  
  XLength x   new attribute    
  YLength x   new attribute    
  ZLength x   new attribute    
  IfcBooleanOperand   x   select enhanced to include IfcCsgPrimitive3D    
  IfcCsgSelect   x   select enhanced to include IfcCsgPrimitive3D    
  IfcCsgPrimitive3D x   new entity to describe CSG primitives x  
  Position x   new attribute    
  IfcPolygonalBoundedHalfSpace        
  PolygonalBoundary   x   attribute type changed to IfcBoundedCurve x  
  IfcRectangularPyramid x   new entity to describe CSG primitives x  
  XLength x   new attribute    
  YLength x   new attribute    
  Height x   new attribute    
  IfcRightCircularCylinder x   new entity to describe CSG primitives x  
  Height x   new attribute    
  Radius x   new attribute    
  IfcRightCircularCone x   new entity to describe CSG primitives x  
  Height x   new attribute    
  BottomRadius x   new attribute    
  IfcSphere x   new entity to describe CSG primitives x  
  Radius x   new attribute    
  IfcSweptAreaSolid        
  WR1   x   rule deleted, derived profile can be used    
         
  IfcGeometryResource        
  IfcRepresentationItem        
  (INV) StyledByItem x   Inverse attribute added to access the presentation from geometry    
  (INV) LayerAssignments x   Inverse attribute added to access the layer from geometry    
  IfcVectorDifference   x   function corrected    
         
  IfcMaterialResource        
  IfcMaterial        
  (INV) HasRepresentation x   Inverse attribute added to access the presentation from material    
         
  IfcMeasureResource        
  IfcUnitAssignment        
  WR01 x   WR added to prevent duplicated units definitions    
  IfcCorrectUnitAssignment x   new function to secure non-duplicated unit assignments    
         
  IfcPresentationAppearanceResource        
  IfcBlobTexture x   New entity to have a pixel file included as a blob x x
  IfcCharacterSpacingSelect   x   deleted, funtionality moved to IfcSizeSelect   x
  IfcCharacterStyleSelect   x   select item changed from IfcColour to IfcTextStyleForDefinedFont x x
  IfcCurveStyle   x only global units are used and measures are given in target plot scale    
  Name   x   deleted, now moved to supertype IfcPresentationStyle x x
  WR11 x   WR added to enforce a positive length measure or 'by layer'    
  IfcCurveStyleFontPattern        
  VisibleSegmentLength   x   attribute type changed to IfcLengthMeasure    
  WR01 x   WR added to ensure a value >= 0.    
  IfcExternallyDefinedSurfaceStyle   x   correction of misspellt name IfcExternallyDefinedSufaceStyle x x
  IfcFillAreaStyle        
  Name   x   deleted, now moved to supertype IfcPresentationStyle x  
  WR12 x   rule added to restrict externally defined hatch styles to one instance    
  WR13 x   rule added to allow either external defined or internal defined hatch styles    
  IfcFillAreaStyleHatching        
  PatternStart   x   attribute has been made optional x  
  PointOfReferenceHatchLine   x   attribute has been made optional x  
  WR21 x   rule added to control hatch line distance    
  WR22 x   rule added to enforce 2D point    
  WR23 x   rule added to enforce 2D point    
  IfcHatchLineDistanceSelect x   new SELECT item added x x
  IfcPixelTexture        
  Pixel   x   Datatype changed to Binary for better encoding of the hex values x  
  IfcPresentationStyle x   New abstract supertype    
  Name x   New attribute, promoted from subtypes    
  IfcSizeSelect   x   SELECT item IfcMeasureWithUnit removed, IfcDescriptiveMeasure added x x
  IfcStyledItem        
  Item   x   attribute made optional x  
  WR12 x   rule added to prevent an IfcStyledItem to style another IfcStyledItem    
  IfcSurfaceStyle        
  Name   x   deleted, now moved to supertype IfcPresentationStyle x x
  WR11 x   rule added    
  WR12 x   rule added    
  WR13 x   rule added    
  WR14 x   rule added    
  WR15 x   rule added    
  IfcSurfaceStyleWithTextures        
  Textures   x   aggregate changed to LIST    
  HasTextureCoordinates   x   inverse attribute deleted    
  IfcSymbolStyle        
  Name   x   deleted, now moved to supertype IfcPresentationStyle    
  IfcTextAlignment   x   definition and where rule changed at the defined type    
  IfcTextDecoration x   new defined type    
  IfcTextTransformation x   new defined type    
  IfcTextStyle   x   x x
  Name   x   deleted, now moved to supertype IfcPresentationStyle x  
  TextFontStyle x   new attribute type:TextFontSelect added for reusable font definiton    
  TextStyle   x   attribute TextStyles renamed intoTextStyle, now optional 0:1    
  TextCharacterAppearance   x   attribute CharacterGlypphArearance renamed    
  IfcTextStyleSelect   x   removing IfcTextStyleWithMirror, adding IfcTextStyleModel    
  IfcTextStyleForDefinedFont x   new entity combining text color and background color x x
  IfcTextStyleTextModel x   new entity to allow for text box and spacing definitions following CSS model x  
  IfcTextStyleWithBoxCharacteristics   x   x x
  CharacterSpacing x   new attribute     
  IfcTextStyleWithMirror   x   deleted, no occurrence specific information in reusable font definition   x
  IfcTextStyleWithSpacing   x   deleted, functionality moved to IfcTextStyleWithBoxCharacteristics.   x
  IfcTextureCoordinate     moved to IfcPresentationDefinitionResource schema    
  Texture   x   attribute Texture deleted x x
         
  IfcPresentationDefinitionResource        
  IfcAnnotationCurveOccurrence        
  WR31 x   WR added (compliance with P46 original)    
  IfcAnnotationFillArea         
  Boundaries   x   attribute replaced by a differentiation of inner and outer boundaries x x
  OuterBoundary x   new attribute    
  InnerBoundaries x   new attribute    
  IfcAnnotationFillAreaOccurrence        
  FillStyleTarget   x   attribute made optional x  
  GlobalOrLocal x   new attribute to determine global or local origin for hatching x x
  WR31 x   WR added (compliance with P46 original)    
  IfcAnnotationSurface x   New entity for solids and surfaces with texture coordinates x  
  TextureCoordinates x   New attribute to assign texture coordinates    
  IfcAnnotationSurfaceOccurrence        
  WR31 x   WR added (compliance with P46 original)    
  IfcAnnotationSymbolOccurrence        
  WR31 x   WR added (compliance with P46 original)    
  IfcAnnotationTextOccurrence        
  WR31 x   WR added (compliance with P46 original)    
  IfcBoxAlignment x   new defined type    
  IfcTextFontSelect   x   renamed from IfcFontSelect    
  IfcTextLiteral       x
  Font   x   attribute Font deleted, now handled at IfcTextStyle    
  Alignment   x   deleted, moved down to subtype IfcTextliteralWithExtent    
  IfcTextLiteralWithExtent       x
  Alignment x   new attribute, demoted from supertype IfcTextLiteral    
  WR31 x   WR added (disallow IfcPlanarBox for extent)    
  IfcTextureMap        
  TextureMaps x   New attribute to assign texture mapping    
  VertexBasedTextures   x   Attribute deleted    
  IfcVertexBasedTextureMap        
  VertexBasedGeometry   x   attribute deleted (moved to IfcTextureMap) x x
  TexturePoints x   attribute added x x
  TextureVertices   x   list changed from 1:? to 3:?    
         
  IfcPresentationDimensioningResource        
  IfcDimensionPair x   new entity x  
         
  IfcPresentationOrganisationResource        
  IfcAnnotationFillAreaOccurrence        
  FillStyleTarget   x   attribute made optional x  
  GlobalOrLocal x   attribute added   x
  IfcPresentationLayerAssignment        
  Identifier x   added and promoted from subtype, was LayerNumber    
  IfcPresentationLayerWithStyle   x   remaned from IfcPresentationLayerAssignmentWithStyle x x
  LayerNumber   x   promoted to supertype    
  LayerOnInAllViews   x   deleted, since IFC does not define paper space    
  LayerFrozenInAllViews   x   deleted, since IFC does not define paper space    
  LayerColour   x   changed into a more general LayerStyle    
  LayerCurveWidth   x   deleted, covered by LayerStyle    
  LayerCurveFont   x   deleted, covered by LayerStyle    
         
  IfcPresentationResource        
  IfcFontStyle x   new defined type    
  IfcFontVariant x   new defined type    
  IfcFontWeight x   new defined type    
  IfcPreDefinedTextFont   x   subtype IfcTextStyeFontModel added x  
  IfcTextFontName x   new defined type    
  IfcTextFontSelect   x   SELECT type renamed from IfcFontSelect    
  IfcTextStyleFontModel x   new entity to allow for text font definitions following CSS model x  
         
  IfcProfilePropertyResource        
  IfcStructuralProfileProperties        
  CentreOfGravityInX x   new attribute, moved from various profile definitions x x
  CentreOfGravityInY x   new attribute, moved from various profile definitions x x
         
  IfcProfileResource        
  IfcParameterizedProfileDef   x all profiles now used as being centric to the bounding box    
  IfcArbitraryOpenProfileDef     new subtype IfcCenterLineProfileDef added    
  WR11   x   WR to allow area profile type for subtype    
  IfcAsymmetricIShapeProfileDef        
  CentreOfGravityInY   x   attribute made optional, profile inserted now at centre of bounding box x  
  IfcCenterLineProfileDef x   new profile for thin metal plates x  
  Thickness x   new attribute    
  IfcCraneRailAShapeProfileDef        
  CentreOfGravityInY    x   attribute made optional, profile inserted now at centre of bounding box x  
  IfcCraneRailFShapeProfileDef         
  CentreOfGravityInY    x   attribute made optional, profile inserted now at centre of bounding box x  
  IfcCShapeProfileDef        
  CentreOfGravityInX    x   attribute made optional, profile inserted now at centre of bounding box x  
  IfcLShapeProfileDef        
  CentreOfGravityInX    x   attribute made optional, profile inserted now at centre of bounding box x  
  WR3   x   WR deleted    
  IfcTShapeProfileDef        
  CentreOfGravityInY   x   attribute made optional, profile inserted now at centre of bounding box x  
  IfcUShapeProfileDef        
  CentreOfGravityInX    x   attribute made optional, profile inserted now at centre of bounding box x  
         
  IfcPropertyResource        
  IfcPropertySingleValue        
  NominalValue   x   Attribute changed to an optional attribute x  
         
  IfcRepresentationResource        
  IfcGeometricRepresentationContext   x only one instance is allowed and mandatory for the model view    
  ContextType    x only 'Model', and 'NotDefined' allowed as values    
  (INV) HasSubContexts x   new inverse attribute to navigate to the set of sub contexts    
  IfcGeometricRepresentationSubContext        
  TargetScale   x attribute now used to define the target plot scale    
  IfcMaterialDefinitionRepresentation x   new entity to assign presentation to material definitions x  
  IfcProductDefinitionShape        
  (INV) ShapeOfProduct x   new inverse attribute to link the product shape to the product    
  WR11 x   WR added to enforce a shape model representation    
  IfcProductRepresentation   x   subtype IfcMaterialDefinitionRepresentation added x  
  IfcRepresentation   x marked for being changed into an ABSTRACT type    
  (INV) LayerAssignments x   Inverse attribute added to access the layer from the representation    
  (INV) RepresentationMap x   New inverse attribute to the representation map where it maybe used    
  IfcRepresentationContext   x marked for being changed into an ABSTRACT type    
  IfcShapeAspect        
  ShapeRepresentation   x   promoted to new supertype IfcShapeModel to apply to topology as well x  
  IfcShapeModel x   new abstract entity grouping geometry and topology representations    
  IfcStyleModel x   new abstract entity grouping pure style information (e.g. for material)    
  IfcStyledRepresentation        
  WR21 x   where rule added to force Items to be of type IfcStyledItem    
  IfcRepresentationContextSameWCS   x   global rule enhanced    
  IfcShapeRepresentationTypes   x   global function enhanced and corrected    
         
  IfcTopologyResource        
  IfcFaceBound        
  WR1   x   rule deleted, no restriction of loops to be face bounds    
         
CORE LAYER              
  IfcKernel        
  IfcObject   x   now subtyped from IfcObjectDefinition    
  IfcObjectDefinition x   new abstract supertype of objects and type objects    
  IfcProject        
  WR32 x   WR added to enforce hierarchy of geometric representation contexts    
  WR33 x   WR added to enforce project to only be root of decomposition (if any)    
  IfcPropertySetDefinition   x   subtype IfcDoorOccurrenceProperties added x  
  IfcRelAssociates        
  WR12   x   Where rule changed to allow association to type objects    
  IfcTypeObject   x   now subtyped from IfcObjectDefinition    
  HasPropertySets   x   Aggregation type changed from List to Set    
  IfcPlacementNotShared   x   global rule deleted, now covered by IfcObjectPlacement.PlacesObjects    
         
  IfcProductExtension        
  IfcBuildingElementProxyType x   New entity to define type definitions for building element proxies x  
  IfcBuildingElementProxyTypeEnum x   New enumeration to define specific building element proxy types x  
  IfcDistributionElementType   x   Abstract entity made non-abstract x  
  IfcElement        
  (INV) HasStructuralMember x   New inverse attribute to connect structural members to elements    
  (INV) ReferencedInStructure x   New inverse relationship to new IfcRelReferencedInSpatialStructure    
  IfcFurnishingElementType   x   Abstract entity made non-abstract x  
  IfcGrid        
  Geometric use   x new geometric use definition to attach geometric curve set to IfcGrid    
  WR2   x   Where rule deleted    
  IfcRelCoverSpaces x   New relationship to assign coverings to spaces x  
  IfcRelReferencedInSpatialStructure x   New relationship to reference elements in spatial structures x  
  IfcSpace        
  (INV) HasCoverings x   New inverse relationship to IfcRelCoversSpaces    
  IfcSpaceType x   New entity to define type definitions for spaces x  
  IfcSpaceTypeEnum x   New enumeration to define specific space types x  
  IfcSpatialStructureElement        
  (IN) ReferencesElements x   New inverse relationship to new IfcRelReferencedInSpatialStructure    
  IfcSpatialStructureElementType x   New abstract entity for types of spatial elements    
  IfcSystem        
  WR1   x   rule deleted, no restriction on system members    
         
INTEROPERABILITY LAYER            
  IfcSharedBldgElements        
  IfcCurtainWallType x   New entity x  
  PredefinedType x   New attribute x  
  IfcCurtainWallTypeEnum x   New enumeration x  
  IfcDoorLiningProperties        
  WR31   x   modified, now allows for optional depth as a variable depth    
  WR32   x   modified, now allows for optional depth as a variable depth    
  IfcMemberTypeEnum   x   Enumerator MULLION added x  
  IfcPlateTypeEnum   x   Enumerator CURTAIN_PANEL, SHEET added x  
  IfcSlabTypeEnum   x   New enumerator "baseslab" added x  
  IfcWallTypeEnum   x   New enumerator "elemented wall" added x  
  IfcWindowLiningProperties        
  WR31   x   Where rule changed to allow for variable depth    
  WR32 x   New where rule    
  WR33 x   New where rule    
  WR34 x   New where rule    
         
  IfcSharedBldgServiceElements        
  IfcSoundProperties   x      
  PointOfMeasurement   x   Attribute deleted x x
         
DOMAIN LAYER            
  IfcStructuralAnalysisDomain        
  IfcOrientationSelect x   New select type to provide two ways for orientation values    
  IfcRelAssociatesProfileProperties        
  ProfileOrientation x   New attribute to provide an beta angle for curve members x x
  IfcRelConnectsWithEccentricity x   new entity to explicitly define eccentricity x  
  ConnectionConstraint x   new attribute    
  IfcRelConnectsStructuralElement x   new entity to associate analytical and physical element x  
  RelatingElement x   new attribute    
  RelatedStructuralElement x   new attribute    
  IfcStructuralActivityAssignmentSelect   x   select changed to include IfcElement, not IfcBuildingElement    
  IfcStructuralAction        
  ProjectedOrTrue   x   attribute demoted to subtypes    
  IfcStructuralMember        
  (INV) ReferencesElement x   new inverse attribute    
  IfcStructuralLinearAction        
  ProjectedOrTrue x   new attribute, demoted from supertype    
  IfcStructuralPlanarAction        
  ProjectedOrTrue x   new attribute, demoted from supertype