Skip to main content
Question

Wrong text position of IfcAnnotation in ifc file


Forum|alt.badge.img

Hello.

When I loaded the ifc file, I noticed that the position of the text was wrong.

The image below is the Inspector View when reading FKZ Haus data (*1) (*2).

wrong_text_pos_fme*1) https://www.ifcwiki.org/index.php?title=KIT_IFC_Examples

*2) I specified "Industry Foundation Class STEP/ XML Files (IFC)" as the format.

 

On the other hand, the image below shows the same data displayed with FKZViewer.

(I hide everything except IfcAnnotation to make it easier to see)

disp_by_fkz_viewer 

What is the reason for this misalignment? Also, are there any workarounds?

4 replies

Forum|alt.badge.img
  • Author
  • February 14, 2023

I did some additional research.

The capture below shows the coordinates of IfcTextLiteralWithExtent#75793, a child element of IfcAnnotation#76112, in FME.

The coordinates are (13.539999999976, 24.1600000126, 0), which is incorrect.

ifc_annotation_text#75793_in_fme

I also dumped the same element in ifcOpenShell.

The following is an excerpt of only the important parts.

 

(IfcAnnotation#76112): obj_place=(0.0, 0.0, 2.7), GlobalId=0OL3LCjon8C8eMGVs718Tk, Name=None, Description=None, ObjectType=None
 ...
 ObjectPlacement(IfcLocalPlacement#75786): 
  PlacementRelTo(IfcLocalPlacement#35064): 
   PlacementRelTo(IfcLocalPlacement#432): 
    PlacementRelTo(IfcLocalPlacement#115): PlacementRelTo=None
     RelativePlacement(IfcAxis2Placement3D#114): 
      Location(IfcCartesianPoint#112): Coordinates=(0.0, 0.0, 0.0)
      Axis(IfcDirection#110): DirectionRatios=(0.0, 0.0, 1.0)
      RefDirection(IfcDirection#108): DirectionRatios=(1.0, 0.0, 0.0)
    RelativePlacement(IfcAxis2Placement3D#431): 
     Location(IfcCartesianPoint#429): Coordinates=(0.0, 0.0, 0.0)
     Axis(IfcDirection#427): DirectionRatios=(0.0, 0.0, 1.0)
     RefDirection(IfcDirection#425): DirectionRatios=(1.0, 0.0, 0.0)
   RelativePlacement(IfcAxis2Placement3D#35063): 
    Location(IfcCartesianPoint#35061): Coordinates=(0.0, 0.0, 2.7)
    Axis(IfcDirection#35059): DirectionRatios=(0.0, 0.0, 1.0)
    RefDirection(IfcDirection#35057): DirectionRatios=(1.0, 0.0, 0.0)
  RelativePlacement(IfcAxis2Placement3D#75785): 
   Location(IfcCartesianPoint#75783): Coordinates=(0.0, 0.0, 0.0)
   Axis(IfcDirection#75781): DirectionRatios=(0.0, 0.0, 1.0)
   RefDirection(IfcDirection#75779): DirectionRatios=(1.0, 0.0, 0.0)
 Representation(IfcProductDefinitionShape#76109): Name=None, Description=None
  Representation[0](IfcShapeRepresentation#76107): RepresentationIdentifier=Annotation, RepresentationType=Annotation2D
   ContextOfItems(IfcGeometricRepresentationSubContext#15265): ContextIdentifier=Annotation, ContextType=Plan, CoordinateSpaceDimension=None, Precision=None, WorldCoordinateSystem=None, TrueNorth=None, TargetScale=0.01, TargetView=PLAN_VIEW, UserDefinedTargetView=None
    ParentContext(IfcGeometricRepresentationContext#374): ContextIdentifier=None, ContextType=Plan, CoordinateSpaceDimension=3, Precision=1e-05
     WorldCoordinateSystem(IfcAxis2Placement3D#371): 
      Location(IfcCartesianPoint#369): Coordinates=(0.0, 0.0, 0.0)
      Axis(IfcDirection#367): DirectionRatios=(0.0, 0.0, 1.0)
      RefDirection(IfcDirection#365): DirectionRatios=(1.0, 0.0, 0.0)
     TrueNorth(IfcDirection#372): DirectionRatios=(0.766044443119, 0.642787609687)
   Item[0](IfcTextLiteralWithExtent#75793): Literal=50, Path=LEFT, BoxAlignment=bottom-left
    Placement(IfcAxis2Placement2D#75792): 
     Location(IfcCartesianPoint#75790): Coordinates=(13.5399999976, 10.620000015)
     RefDirection(IfcDirection#75788): DirectionRatios=(0.0, 1.0)
    Extent(IfcPlanarExtent#75787): SizeInX=0.549829, SizeInY=0.4

 

The coordinates are (13.53999999976, 10.620000015, 2.7), which seem to be the correct coordinates.

 

By the way, when the x and y of the correct coordinates are added together they match the incorrect y coordinates in FME.

(13.539999999976 + 10.620000015 = 24.1600000126)

 

Is there some bug that causes the IfcCartesianPoint's x and y to add up under certain circumstances?

 


daveatsafe
Safer
Forum|alt.badge.img+19
  • Safer
  • February 14, 2023
rhikos wrote:

I did some additional research.

The capture below shows the coordinates of IfcTextLiteralWithExtent#75793, a child element of IfcAnnotation#76112, in FME.

The coordinates are (13.539999999976, 24.1600000126, 0), which is incorrect.

ifc_annotation_text#75793_in_fme

I also dumped the same element in ifcOpenShell.

The following is an excerpt of only the important parts.

 

(IfcAnnotation#76112): obj_place=(0.0, 0.0, 2.7), GlobalId=0OL3LCjon8C8eMGVs718Tk, Name=None, Description=None, ObjectType=None
 ...
 ObjectPlacement(IfcLocalPlacement#75786): 
  PlacementRelTo(IfcLocalPlacement#35064): 
   PlacementRelTo(IfcLocalPlacement#432): 
    PlacementRelTo(IfcLocalPlacement#115): PlacementRelTo=None
     RelativePlacement(IfcAxis2Placement3D#114): 
      Location(IfcCartesianPoint#112): Coordinates=(0.0, 0.0, 0.0)
      Axis(IfcDirection#110): DirectionRatios=(0.0, 0.0, 1.0)
      RefDirection(IfcDirection#108): DirectionRatios=(1.0, 0.0, 0.0)
    RelativePlacement(IfcAxis2Placement3D#431): 
     Location(IfcCartesianPoint#429): Coordinates=(0.0, 0.0, 0.0)
     Axis(IfcDirection#427): DirectionRatios=(0.0, 0.0, 1.0)
     RefDirection(IfcDirection#425): DirectionRatios=(1.0, 0.0, 0.0)
   RelativePlacement(IfcAxis2Placement3D#35063): 
    Location(IfcCartesianPoint#35061): Coordinates=(0.0, 0.0, 2.7)
    Axis(IfcDirection#35059): DirectionRatios=(0.0, 0.0, 1.0)
    RefDirection(IfcDirection#35057): DirectionRatios=(1.0, 0.0, 0.0)
  RelativePlacement(IfcAxis2Placement3D#75785): 
   Location(IfcCartesianPoint#75783): Coordinates=(0.0, 0.0, 0.0)
   Axis(IfcDirection#75781): DirectionRatios=(0.0, 0.0, 1.0)
   RefDirection(IfcDirection#75779): DirectionRatios=(1.0, 0.0, 0.0)
 Representation(IfcProductDefinitionShape#76109): Name=None, Description=None
  Representation[0](IfcShapeRepresentation#76107): RepresentationIdentifier=Annotation, RepresentationType=Annotation2D
   ContextOfItems(IfcGeometricRepresentationSubContext#15265): ContextIdentifier=Annotation, ContextType=Plan, CoordinateSpaceDimension=None, Precision=None, WorldCoordinateSystem=None, TrueNorth=None, TargetScale=0.01, TargetView=PLAN_VIEW, UserDefinedTargetView=None
    ParentContext(IfcGeometricRepresentationContext#374): ContextIdentifier=None, ContextType=Plan, CoordinateSpaceDimension=3, Precision=1e-05
     WorldCoordinateSystem(IfcAxis2Placement3D#371): 
      Location(IfcCartesianPoint#369): Coordinates=(0.0, 0.0, 0.0)
      Axis(IfcDirection#367): DirectionRatios=(0.0, 0.0, 1.0)
      RefDirection(IfcDirection#365): DirectionRatios=(1.0, 0.0, 0.0)
     TrueNorth(IfcDirection#372): DirectionRatios=(0.766044443119, 0.642787609687)
   Item[0](IfcTextLiteralWithExtent#75793): Literal=50, Path=LEFT, BoxAlignment=bottom-left
    Placement(IfcAxis2Placement2D#75792): 
     Location(IfcCartesianPoint#75790): Coordinates=(13.5399999976, 10.620000015)
     RefDirection(IfcDirection#75788): DirectionRatios=(0.0, 1.0)
    Extent(IfcPlanarExtent#75787): SizeInX=0.549829, SizeInY=0.4

 

The coordinates are (13.53999999976, 10.620000015, 2.7), which seem to be the correct coordinates.

 

By the way, when the x and y of the correct coordinates are added together they match the incorrect y coordinates in FME.

(13.539999999976 + 10.620000015 = 24.1600000126)

 

Is there some bug that causes the IfcCartesianPoint's x and y to add up under certain circumstances?

 

Hi @rhikos​,

Thank you very much for this information. I have created a problem report for our development team (FMEENGINE-76579) and expect this to be a quick fix. We will notify you when the fix is available in beta.


jovitaatsafe
Safer
Forum|alt.badge.img+11

Hi @rhikos​,

I'm pleased to share that the issue @daveatsafe​ had filed has been resolved, and annotations should now be placed in the correct location. The fix can be found in the official release build: FME 2022.2 build 22790 and higher from our downloads page here: safe.com/downloads

 

While checking this out, our QA team has identified a separate problem with reading this same dataset where it comes through with some incorrect geometries in 3D view. We are tracking this issue internally as (FMEENGINE-76696) and we can update here when it has been addressed too.


Forum|alt.badge.img
  • Author
  • March 8, 2023

I have confirmed that annotations are placed in the correct location in build 22790. Thanks for the quick fix!


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings