The Dev-Team at Prusa has done a nice job of cleaning up the Slic3r sources with their “PrusaSlicer” fork. Also setting up a build is so much easier now.
Playing with infills is always fun. The following shows were you need to touch the sources to add a new infill pattern to libslic3r and the GUI.
“src/libslic3r/Fill/”
create “NewFill.hpp” and “NewFill.cpp“
“src/libslic3r/CMakeLists.txt”
Add “NewFill.hpp” and “NewFill.cpp” to the “addLibrary” call.
“src/libslic3r/Fill/FillBase.cpp”
Include “NewFill.hpp” and add “case ipNewfill: return new FillSinusoidal();” to the “Fill::new_from_type” function.
“/src/libslic3r/PrintConfig.cpp”
Add to the “fill_pattern” enum at around line 830
def->enum_values.push_back(“newfill”);
def->enum_labels.push_back(L(“New Fill”));
“src/libslic3r/PrintConfig.hpp”
Extend “enum InfillPattern” with “ipNewfill” and the “get_enum_values()” function with “keys_map[“newfill”] = ipNewfill;”