Building Information Modelling and IFC (the industry foundation classes) have been traditionally used mostly in the construction of buildings. However recent extensions to the IFC schema (IFC4X1: alignment, IFC4X2: bridge, IFC4X3: rail, IFC4X4 (in progress): tunnel) allow using vendor neutral exchange of infrastructure assets. Geometrically, such definitions are fairly different, where transition curves are used to precisely control for curvature and linear placements are used to position elements along the curve. This project will implement and extend basic support for reading (and potentially authoring) such geometry definitions.
Progress towards the implementation and visualisation of such IFC infrastructure elements. Hopefully resulting also in the possibility to use such entities in https://blenderbim.org/ or in the FreeCAD BIM or geo workbenches https://wiki.freecadweb.org/BIM_Workbench.
Project Properties
Skills
A background in geometry, linear algebra or computer graphics.
Understanding of python or C++.
Difficulty
Medium
Size
Medium (175h)
The participant focusses on interpreting the data solely in IfcOpenShell and uses simple python visualisation tools to demonstrate the outcomes.
Long (350h)
The participant additionally makes an effort at integrating with BlenderBIM or FreeCAD and also investigates authoring or editing alignments in these tools.
Outline
Building Information Modelling and IFC (the industry foundation classes) have been traditionally used mostly in the construction of buildings. However recent extensions to the IFC schema (IFC4X1: alignment, IFC4X2: bridge, IFC4X3: rail, IFC4X4 (in progress): tunnel) allow using vendor neutral exchange of infrastructure assets. Geometrically, such definitions are fairly different, where transition curves are used to precisely control for curvature and linear placements are used to position elements along the curve. This project will implement and extend basic support for reading (and potentially authoring) such geometry definitions.
Figure 1. Railway elements linearly positioned along an alignment curve with "Cant", a tilting rotation along the longitudinal axis. Source https://github.com/buildingSMART/Sample-Test-Files/tree/master/IFC%204.3/LinearPlacement_2
Details
Elementary bits and pieces exist already in the code base:
But the concrete geometry definitions to build upon these elementary definitions are not implemented yet:
Expected Outcome
Progress towards the implementation and visualisation of such IFC infrastructure elements. Hopefully resulting also in the possibility to use such entities in https://blenderbim.org/ or in the FreeCAD BIM or geo workbenches https://wiki.freecadweb.org/BIM_Workbench.
Project Properties
Skills
A background in geometry, linear algebra or computer graphics.
Understanding of python or C++.
Difficulty
Medium
Size
Medium (175h)
The participant focusses on interpreting the data solely in IfcOpenShell and uses simple python visualisation tools to demonstrate the outcomes.
Long (350h)
The participant additionally makes an effort at integrating with BlenderBIM or FreeCAD and also investigates authoring or editing alignments in these tools.
Additional Information
Potential mentor(s): Thomas Krijnen @aothms
Organization website: http://ifcopenshell.org/
Communication channels: https://sourceforge.net/p/ifcopenshell/discussion/