In 2015-2017, I remotely worked in a startup at the University of California at Berkeley (California, USA),
which performed work on a grant from the U.S. Government.
I developed algorithms and C/C++ code for preparing models for 3D printing and milling.
The work included the processing of 3D models with the formation of
G-code for 3D printing and milling.
There were many options (more than 40) supporting:
• selection of 3D printing or milling;
• post-processing of the point cloud from the 3D scanner to correct the geometry of the model;
• definition of model topology and 3D fragmentation, using algorithms of Computer Vision (CV);
• CAD/CAM functions: cross-section in different planes and others;
• use of multiple extruders – T0, T1, ...;
• various algorithms of computational geometry;
• infill settings;
• definition of curvature;
• different ways of layering;
• import and export of 2D and 3D models
STL,
DXF,
STEP and others.
The code was developed in Microsoft Visual Studio 2013 using third-party libraries: Cura, OpenMesh, DXFlib, GTEngine,
Clipper lib, libArcus, Rapidjson, Protobuf. The intermediate results of calculations and transformations were viewed
using utilities written in NetWars Engine.
The final G-code was tested through the
Autodesk Spark platform in a visual 3D-view.