Basic tech overview:
SOL75 can be broken down into 3 main parts:
- A module to handle 3D geometries, which ultimately produces the STL files for printing
- The core module, which manipulates the components geometry so that they meet the user requirements
- An AI oracle, which provides intuition for the exploration of the design space
Now for a bit more details:
3D geometry module: The program needs to be able to easily modify the geometry of a component to fit the user requirements. To do so, I use parametric design, so that SOL75 can manipulate the parameters instead of the geometry.
This is done with OpenScad, which is the most famous of Code Cad. SOL75 could use any other code CAD/Scripted CAD variant (like implicit cad etc) but I am just very comfortable with OpenScad. It also has the added benefit that it is a very easy language, so anyone interested enough can understand it.
The CORE module is what figures out the correct value for each parameter. This is a bit complex and involves a lot of algebra, calculus and numerical analysis. However, we can view it as an improvement loop and a validation step, which can distinguish between a correct solution and a bad one. The main takeaway is that if a solution is found, it is provably correct. This will be important for the next step.
The oracle. Parametric design often has a lot of parameters. The problem is that searching a high dimensional space is very hard (see the curse of dimensionality ). Therefore, to quickly decide if a option is to be explored or not, I use an AI. But AI are not to be trusted, so we have the core which verifies if a proposed solution will work or not.