New Fill & Patterns Order (#10055)

* New Fill Order

Co-Authored-By: Rodrigo <162915171+RF47@users.noreply.github.com>

* Reorder Wiki

* Support infills grouped

* Update old rectilinear profiles into new ZigZag algorithm.

Co-Authored-By: dewi-ny-je <2866139+dewi-ny-je@users.noreply.github.com>

* Renaming compatibility fix + Rename Wiki

Co-Authored-By: SoftFever <softfeverever@gmail.com>

---------

Co-authored-by: Rodrigo <162915171+RF47@users.noreply.github.com>
Co-authored-by: dewi-ny-je <2866139+dewi-ny-je@users.noreply.github.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
This commit is contained in:
Ian Bassi
2025-07-21 12:08:43 -03:00
committed by GitHub
parent 16d7a1458f
commit c8b3899c5e
4 changed files with 291 additions and 284 deletions

View File

@@ -137,33 +137,33 @@ static t_config_enum_values s_keys_map_NoiseType {
CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(NoiseType)
static t_config_enum_values s_keys_map_InfillPattern {
{ "concentric", ipConcentric },
{ "zig-zag", ipRectilinear },
{ "grid", ipGrid },
{ "2dlattice", ip2DLattice },
{ "line", ipLine },
{ "cubic", ipCubic },
{ "triangles", ipTriangles },
{ "tri-hexagon", ipStars },
{ "gyroid", ipGyroid },
{ "tpmsd", ipTpmsD },//TpmsD from CrealityPrint
{ "honeycomb", ipHoneycomb },
{ "adaptivecubic", ipAdaptiveCubic },
{ "monotonic", ipMonotonic },
{ "monotonicline", ipMonotonicLine },
{ "monotonic", ipMonotonic },
{ "monotonicline", ipMonotonicLine },
{ "rectilinear", ipRectilinear },
{ "alignedrectilinear", ipAlignedRectilinear },
{ "2dhoneycomb", ip2DHoneycomb },
{ "3dhoneycomb", ip3DHoneycomb },
{ "hilbertcurve", ipHilbertCurve },
{ "archimedeanchords", ipArchimedeanChords },
{ "octagramspiral", ipOctagramSpiral },
{ "supportcubic", ipSupportCubic },
{ "lightning", ipLightning },
{ "crosshatch", ipCrossHatch},
{ "quartercubic", ipQuarterCubic},
{ "zigzag", ipZigZag },
{ "crosszag", ipCrossZag },
{ "lockedzag", ipLockedZag }
{ "zigzag", ipZigZag },
{ "crosszag", ipCrossZag },
{ "lockedzag", ipLockedZag },
{ "line", ipLine },
{ "grid", ipGrid },
{ "triangles", ipTriangles },
{ "tri-hexagon", ipStars },
{ "cubic", ipCubic },
{ "adaptivecubic", ipAdaptiveCubic },
{ "quartercubic", ipQuarterCubic },
{ "supportcubic", ipSupportCubic },
{ "lightning", ipLightning },
{ "honeycomb", ipHoneycomb },
{ "3dhoneycomb", ip3DHoneycomb },
{ "2dhoneycomb", ip2DHoneycomb },
{ "2dlattice", ip2DLattice },
{ "crosshatch", ipCrossHatch },
{ "tpmsd", ipTpmsD },
{ "gyroid", ipGyroid },
{ "concentric", ipConcentric },
{ "hilbertcurve", ipHilbertCurve },
{ "archimedeanchords", ipArchimedeanChords },
{ "octagramspiral", ipOctagramSpiral }
};
CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(InfillPattern)
@@ -226,8 +226,8 @@ CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(SlicingMode)
static t_config_enum_values s_keys_map_SupportMaterialPattern {
{ "rectilinear", smpRectilinear },
{ "rectilinear-grid", smpRectilinearGrid },
{ "honeycomb", smpHoneycomb },
{ "lightning", smpLightning },
{ "honeycomb", smpHoneycomb },
{ "default", smpDefault},
{ "hollow", smpNone},
};
@@ -1610,19 +1610,19 @@ void PrintConfigDef::init_fff_params()
def->category = L("Strength");
def->tooltip = L("Line pattern of top surface infill.");
def->enum_keys_map = &ConfigOptionEnum<InfillPattern>::get_enum_values();
def->enum_values.push_back("concentric");
def->enum_values.push_back("zig-zag");
def->enum_values.push_back("monotonic");
def->enum_values.push_back("monotonicline");
def->enum_values.push_back("rectilinear");
def->enum_values.push_back("alignedrectilinear");
def->enum_values.push_back("concentric");
def->enum_values.push_back("hilbertcurve");
def->enum_values.push_back("archimedeanchords");
def->enum_values.push_back("octagramspiral");
def->enum_labels.push_back(L("Concentric"));
def->enum_labels.push_back(L("Rectilinear"));
def->enum_labels.push_back(L("Monotonic"));
def->enum_labels.push_back(L("Monotonic line"));
def->enum_labels.push_back(L("Rectilinear"));
def->enum_labels.push_back(L("Aligned Rectilinear"));
def->enum_labels.push_back(L("Concentric"));
def->enum_labels.push_back(L("Hilbert Curve"));
def->enum_labels.push_back(L("Archimedean Chords"));
def->enum_labels.push_back(L("Octagram Spiral"));
@@ -2374,56 +2374,56 @@ void PrintConfigDef::init_fff_params()
def->category = L("Strength");
def->tooltip = L("Line pattern for internal sparse infill.");
def->enum_keys_map = &ConfigOptionEnum<InfillPattern>::get_enum_values();
def->enum_values.push_back("concentric");
def->enum_values.push_back("zig-zag");
def->enum_values.push_back("grid");
def->enum_values.push_back("2dlattice");
def->enum_values.push_back("line");
def->enum_values.push_back("cubic");
def->enum_values.push_back("triangles");
def->enum_values.push_back("tri-hexagon");
def->enum_values.push_back("gyroid");
def->enum_values.push_back("tpmsd");
def->enum_values.push_back("honeycomb");
def->enum_values.push_back("adaptivecubic");
def->enum_values.push_back("rectilinear");
def->enum_values.push_back("alignedrectilinear");
def->enum_values.push_back("2dhoneycomb");
def->enum_values.push_back("3dhoneycomb");
def->enum_values.push_back("hilbertcurve");
def->enum_values.push_back("archimedeanchords");
def->enum_values.push_back("octagramspiral");
def->enum_values.push_back("supportcubic");
def->enum_values.push_back("lightning");
def->enum_values.push_back("crosshatch");
def->enum_values.push_back("quartercubic");
def->enum_values.push_back("zigzag");
def->enum_values.push_back("crosszag");
def->enum_values.push_back("lockedzag");
def->enum_labels.push_back(L("Concentric"));
def->enum_values.push_back("line");
def->enum_values.push_back("grid");
def->enum_values.push_back("triangles");
def->enum_values.push_back("tri-hexagon");
def->enum_values.push_back("cubic");
def->enum_values.push_back("adaptivecubic");
def->enum_values.push_back("quartercubic");
def->enum_values.push_back("supportcubic");
def->enum_values.push_back("lightning");
def->enum_values.push_back("honeycomb");
def->enum_values.push_back("3dhoneycomb");
def->enum_values.push_back("2dhoneycomb");
def->enum_values.push_back("2dlattice");
def->enum_values.push_back("crosshatch");
def->enum_values.push_back("tpmsd");
def->enum_values.push_back("gyroid");
def->enum_values.push_back("concentric");
def->enum_values.push_back("hilbertcurve");
def->enum_values.push_back("archimedeanchords");
def->enum_values.push_back("octagramspiral");
def->enum_labels.push_back(L("Rectilinear"));
def->enum_labels.push_back(L("Grid"));
def->enum_labels.push_back(L("2D Lattice"));
def->enum_labels.push_back(L("Line"));
def->enum_labels.push_back(L("Cubic"));
def->enum_labels.push_back(L("Triangles"));
def->enum_labels.push_back(L("Tri-hexagon"));
def->enum_labels.push_back(L("Gyroid"));
def->enum_labels.push_back(L("TPMS-D"));
def->enum_labels.push_back(L("Honeycomb"));
def->enum_labels.push_back(L("Adaptive Cubic"));
def->enum_labels.push_back(L("Aligned Rectilinear"));
def->enum_labels.push_back(L("2D Honeycomb"));
def->enum_labels.push_back(L("3D Honeycomb"));
def->enum_labels.push_back(L("Hilbert Curve"));
def->enum_labels.push_back(L("Archimedean Chords"));
def->enum_labels.push_back(L("Octagram Spiral"));
def->enum_labels.push_back(L("Support Cubic"));
def->enum_labels.push_back(L("Lightning"));
def->enum_labels.push_back(L("Cross Hatch"));
def->enum_labels.push_back(L("Quarter Cubic"));
def->enum_labels.push_back(L("Zig Zag"));
def->enum_labels.push_back(L("Cross Zag"));
def->enum_labels.push_back(L("Locked Zag"));
def->enum_labels.push_back(L("Line"));
def->enum_labels.push_back(L("Grid"));
def->enum_labels.push_back(L("Triangles"));
def->enum_labels.push_back(L("Tri-hexagon"));
def->enum_labels.push_back(L("Cubic"));
def->enum_labels.push_back(L("Adaptive Cubic"));
def->enum_labels.push_back(L("Quarter Cubic"));
def->enum_labels.push_back(L("Support Cubic"));
def->enum_labels.push_back(L("Lightning"));
def->enum_labels.push_back(L("Honeycomb"));
def->enum_labels.push_back(L("3D Honeycomb"));
def->enum_labels.push_back(L("2D Honeycomb"));
def->enum_labels.push_back(L("2D Lattice"));
def->enum_labels.push_back(L("Cross Hatch"));
def->enum_labels.push_back(L("TPMS-D"));
def->enum_labels.push_back(L("Gyroid"));
def->enum_labels.push_back(L("Concentric"));
def->enum_labels.push_back(L("Hilbert Curve"));
def->enum_labels.push_back(L("Archimedean Chords"));
def->enum_labels.push_back(L("Octagram Spiral"));
def->set_default_value(new ConfigOptionEnum<InfillPattern>(ipCrossHatch));
def = this->add("lattice_angle_1", coFloat);
@@ -3418,10 +3418,10 @@ void PrintConfigDef::init_fff_params()
def->tooltip = L("The pattern that will be used when ironing.");
def->category = L("Quality");
def->enum_keys_map = &ConfigOptionEnum<InfillPattern>::get_enum_values();
def->enum_values.push_back("rectilinear");
def->enum_values.push_back("concentric");
def->enum_values.push_back("zig-zag");
def->enum_labels.push_back(L("Concentric"));
def->enum_labels.push_back(L("Rectilinear"));
def->enum_labels.push_back(L("Concentric"));
def->mode = comAdvanced;
def->set_default_value(new ConfigOptionEnum<InfillPattern>(ipRectilinear));
@@ -5051,14 +5051,14 @@ void PrintConfigDef::init_fff_params()
def->enum_values.push_back("default");
def->enum_values.push_back("rectilinear");
def->enum_values.push_back("rectilinear-grid");
def->enum_values.push_back("honeycomb");
def->enum_values.push_back("lightning");
def->enum_values.push_back("honeycomb");
def->enum_values.push_back("hollow");
def->enum_labels.push_back(L("Default"));
def->enum_labels.push_back(L("Rectilinear"));
def->enum_labels.push_back(L("Rectilinear grid"));
def->enum_labels.push_back(L("Honeycomb"));
def->enum_labels.push_back(L("Lightning"));
def->enum_labels.push_back(L("Honeycomb"));
def->enum_labels.push_back(L("Hollow"));
def->mode = comAdvanced;
def->set_default_value(new ConfigOptionEnum<SupportMaterialPattern>(smpDefault));
@@ -5327,10 +5327,10 @@ void PrintConfigDef::init_fff_params()
def->tooltip = L("The pattern that will be used when ironing.");
def->category = L("Support");
def->enum_keys_map = &ConfigOptionEnum<InfillPattern>::get_enum_values();
def->enum_values.push_back("rectilinear");
def->enum_values.push_back("concentric");
def->enum_values.push_back("zig-zag");
def->enum_labels.push_back(L("Concentric"));
def->enum_labels.push_back(L("Rectilinear"));
def->enum_labels.push_back(L("Concentric"));
def->mode = comAdvanced;
def->set_default_value(new ConfigOptionEnum<InfillPattern>(ipRectilinear));
@@ -6835,6 +6835,8 @@ void PrintConfigDef::handle_legacy(t_config_option_key &opt_key, std::string &va
opt_key = "counterbore_hole_bridging";
} else if (opt_key == "draft_shield" && value == "limited") {
value = "disabled";
} else if (opt_key == "sparse_infill_pattern" && value == "zig-zag") {
value = "rectilinear";
}
// Ignore the following obsolete configuration keys:

View File

@@ -58,9 +58,14 @@ enum AuthorizationType {
};
enum InfillPattern : int {
ipConcentric, ipRectilinear, ipGrid, ip2DLattice, ipLine, ipCubic, ipTriangles, ipStars, ipGyroid, ipTpmsD, ipHoneycomb, ipAdaptiveCubic, ipMonotonic, ipMonotonicLine, ipAlignedRectilinear, ip2DHoneycomb, ip3DHoneycomb,
ipHilbertCurve, ipArchimedeanChords, ipOctagramSpiral, ipSupportCubic, ipSupportBase, ipConcentricInternal,
ipLightning, ipCrossHatch, ipQuarterCubic, ipZigZag, ipCrossZag, ipLockedZag,
ipRectilinear, ipAlignedRectilinear, ipZigZag, ipCrossZag, ipLockedZag,
ipLine, ipGrid, ipMonotonic, ipMonotonicLine,
ipTriangles, ipStars,
ipCubic, ipAdaptiveCubic, ipQuarterCubic, ipSupportCubic, ipLightning,
ipHoneycomb, ip3DHoneycomb, ip2DHoneycomb, ip2DLattice,
ipCrossHatch, ipTpmsD, ipGyroid,
ipConcentric, ipHilbertCurve, ipArchimedeanChords, ipOctagramSpiral,
ipSupportBase, ipConcentricInternal,
ipCount,
};