IFC 4_Renga

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

Let's look to simple IFC file that contains one Slab (start of that file): Note: please, change file's extension from txt to ifc

Below a part of file's code (in needing area):

#10= IFCCARTESIANPOINT((0.,0.,0.));
#11= IFCDIRECTION((0.,0.,1.));
#12= IFCDIRECTION((1.,0.,0.));
#13= IFCAXIS2PLACEMENT3D(#10,#11,#12);
#14= IFCGEOMETRICREPRESENTATIONCONTEXT('Model','Model',3,0.000001,#13,$);
#15= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#14,$,.MODEL_VIEW.,$);
#16= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Model',*,*,*,*,#14,$,.GRAPH_VIEW.,$);
#17= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('FootPrint','Model',*,*,*,*,#14,$,.MODEL_VIEW.,$);
#18= IFCPROJECT('1vGuqq14X4r9r7dsi993OK',$,'ChildrenGarden_Fund',$,$,$,$,(#14),#6);
#19= IFCLOCALPLACEMENT($,#13);

To add transformation's parameters you need done the folowing steps:

  1. Change #10 parameters to new as "((dX, dY, dZ))" where dX, dY, dZ - calculated values

  2. Change #12 parameters to new as "((-Sin(ωz),Cos(ωz),0.))" Note: Navis 2020 read #12 as ((-Sin(ωz),Cos(ωz),0.)), but 2021 read that as in 2x3 version

  3. Create new parameter #(N+1)= IFCCARTESIANPOINT((0.,0.,dZ)); where N is count of all IFC's file strings (that contains symbol '#'), dZ - calculated value

  4. Create new parameter #(N+2)= IFCAXIS2PLACEMENT3D(#(N+1),$,$);

  5. Change some parameters in 14= IFCGEOMETRICREPRESENTATIONCONTEXT such as #13 → #301 and 0.000000010000000 → 0., $ → #12

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

#10= IFCCARTESIANPOINT((2216581214.999,530017018.883,139500));
#300= IFCCARTESIANPOINT((0.,0.,139500));
#11= IFCDIRECTION((0.,0.,1.));
#12= IFCDIRECTION((0.936783338,-0.349909954,0.000000000000000));
#13= IFCAXIS2PLACEMENT3D(#10,#11,#12);
#301= IFCAXIS2PLACEMENT3D(#300,$,$);
#14= IFCGEOMETRICREPRESENTATIONCONTEXT('Model','Model',3,0.,#301,#12);
#15= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#14,$,.MODEL_VIEW.,$);
#16= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Model',*,*,*,*,#14,$,.GRAPH_VIEW.,$);
#17= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('FootPrint','Model',*,*,*,*,#14,$,.MODEL_VIEW.,$);
#18= IFCPROJECT('1vGuqq14X4r9r7dsi993OK',$,'ChildrenGarden_Fund',$,$,$,$,(#14),#6);
#19= IFCLOCALPLACEMENT($,#13);

That changing file you can download below: Note: please, change file's extension from txt to ifc

Last updated