> For the complete documentation index, see [llms.txt](https://inj9.gitbook.io/ifc-geosupport-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://inj9.gitbook.io/ifc-geosupport-guide/changing-in-ifc-specifications/ifc-2x3_tekla.md).

# IFC 2x3\_Tekla

Below examples of data files in IFC 2x3 version and changing in code there:

Let's look to IFC file that contains Metal Structure Frame (file you can find at Data Samples chapter)

```
#6= IFCCARTESIANPOINT((0.,0.,0.));
#7= IFCDIRECTION((1.,0.,0.));
#8= IFCDIRECTION((0.,1.,0.));
#9= IFCDIRECTION((0.,0.,1.));
#10= IFCAXIS2PLACEMENT3D(#6,#9,#7);
#11= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-005,#10,$);
...
#25= IFCPROJECT('3LqIkX5yX4MgPwnJrIARO8',#5,'Trimble Solutions Corporation',$,$,$,$,(#11),#24);
#26= IFCLOCALPLACEMENT($,#10);
```

To add coordinate transformation parameters we need following next steps:

1. Create new parameter #(N+1)= IFCCARTESIANPOINT((dX, dY, dZ)), where dX, dY, dZ - calculated values, where N is count of all IFC's file strings (that contains symbol '#')
2. Create new parameter #(N+2)=  IFCDIRECTION((Cos(ωz),-Sin(ωz),0.))
3. Create new parameter  #(N+3)= IFCAXIS2PLACEMENT3D(#(N+1),#9,#(N+2));
4. Create new parameter #(N+4)= IFCAXIS2PLACEMENT3D(#6,$,$);
5. Change some parameter in #11= IFCGEOMETRICREPRESENTATIONCONTEXT such as #13 → #(N+4), 1.E-005→ 0.
6. Change #26= IFCLOCALPLACEMENT($,#(N+3));

Let's write parameters above in new IFC code below:

```
#6= IFCCARTESIANPOINT((0.,0.,0.));
#80000= IFCCARTESIANPOINT((2216684287.644,529878673.601,141055));
#80001= IFCDIRECTION((0.533997274,-0.845486198,0.));
#80002= IFCAXIS2PLACEMENT3D(#80000,#9,#80001);
#80003= IFCAXIS2PLACEMENT3D(#6,$,$);
#7= IFCDIRECTION((1.,0.,0.));
#8= IFCDIRECTION((0.,1.,0.));
#9= IFCDIRECTION((0.,0.,1.));
#10= IFCAXIS2PLACEMENT3D(#6,#9,#7);
#11= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,0.,#80003,$);
...
#25= IFCPROJECT('3LqIkX5yX4MgPwnJrIARO8',#5,'Trimble Solutions Corporation',$,$,$,$,(#11),#24);
#26= IFCLOCALPLACEMENT($,#80002);
```
