This project is a test project about how to create a (Triply Periodic Minimal Surfaces, TPMS) porosus structure model and how to convert it into a traditional triangle mesh.
This project uses the basic marching box algorithm, which can easily convert an implicit surface into traingle mesh with low precision.
This project can alse convert some fixed triangle mesh into TPMS porosus structure, will show below.
Welcome stars!
This project create some type of Triply Periodic Minimal Surfaces, such as:
- P
- D
- G
- I-WP
- F-RD
- L
- Tubular P
- Tubular G
Just some simple codes could generate TPMS shell model.
BoxTpmsSingeSurfaceAlgorithm boxTpmsSingeSurfaceAlgorithm;
boxTpmsSingeSurfaceAlgorithm.setConfig(boxTpmsSingleSurfaceConfig);
Mesh mesh = boxTpmsSingeSurfaceAlgorithm.process();
MeshSmoothTool smoothTool;
smoothTool.basicSmooth(mesh, 10);
MeshShellTool meshShellTool;
meshShellTool.shell(mesh, 0.03);
Exporter expoter;
expoter.writeOBJ(savePath, mesh);
You can create many different type of TMPS porous structure using the code like the example upon. Some result of the code is screensnap at here.
The below is to use a insole model to create a TPMS porosus model.
- greater than Qt 5
- Starlab
- openmesh 8.0
- Eigen 3
- Assimp