Task 4. Core architecture for next version
From BoardCAD
[edit]
Architectural design
The BoardCAD project has been growing a lot over the years. To make it easier to maintain, BoardCAD will be divided into a number of components that can be managed separately. These are shown in the diagram below.
- The CAD-core is our geometric model and should ultimately be an implementation of STEP AP42 along with some parts from AP203. It should be able to read and write stp-files. It should also be able to create a mesh. To start with this module will contain classes for nurbs surfaces, bezier curves, and points.
- The Board is a higher level product model. It contains rules for how to generate the surface models from the curves etc. Initially board and bezierboard classes will be placed here.
- The machine module will contain models for the machine and tool and will be used to create g-code and to do simulations. It can possibly be extended to create g-code for any geometry and not only for surfboards.
- BoardCAD is the main module that creates the user interface and communicates with the other modules.
- The GUI is put in a separate module in order to make it easier to substitute the interface and make BoardCAD work on different platforms.

