mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-10-20 22:18:30 +00:00
Merge upstream main: center of mass markers, adaptive TPMS, texture bake color mixing, post-processing preview fix, GLEW/OpenCSG removal
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
commit
8b5280098f
128 files changed
+5541
-67999
No files matched your search
@@ -365,6 +365,26 @@ static t_config_enum_values s_keys_map_SurfaceFillOrder{
|
||||
};
|
||||
CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(SurfaceFillOrder)
|
||||
|
||||
//Orca
|
||||
static t_config_enum_values s_keys_map_TpmsAdaptiveMode{
|
||||
{ "disabled", int(TpmsAdaptiveMode::Disabled) },
|
||||
{ "distance_warp", int(TpmsAdaptiveMode::DistanceWarp) },
|
||||
{ "smooth_blend", int(TpmsAdaptiveMode::SmoothBlend) },
|
||||
{ "stepped_shells", int(TpmsAdaptiveMode::SteppedShells) },
|
||||
{ "lobes", int(TpmsAdaptiveMode::Lobes) },
|
||||
{ "normal_z", int(TpmsAdaptiveMode::NormalZ) },
|
||||
{ "normal_y", int(TpmsAdaptiveMode::NormalY) },
|
||||
{ "normal_x", int(TpmsAdaptiveMode::NormalX) },
|
||||
};
|
||||
CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(TpmsAdaptiveMode)
|
||||
|
||||
static t_config_enum_values s_keys_map_TpmsAdaptiveGradient{
|
||||
{ "linear", int(TpmsAdaptiveGradient::Linear) },
|
||||
{ "quadratic", int(TpmsAdaptiveGradient::Quadratic) },
|
||||
{ "exponential", int(TpmsAdaptiveGradient::Exponential) },
|
||||
};
|
||||
CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(TpmsAdaptiveGradient)
|
||||
|
||||
//BBS
|
||||
static t_config_enum_values s_keys_map_PrintSequence {
|
||||
{ "by layer", int(PrintSequence::ByLayer) },
|
||||
@@ -3639,6 +3659,73 @@ void PrintConfigDef::init_fff_params()
|
||||
def->max = 10; // Maximum number of lines for infill pattern
|
||||
def->set_default_value(new ConfigOptionInt(1));
|
||||
|
||||
def = this->add("tpms_adaptive", coEnum);
|
||||
def->label = L("Adaptive density (experimental)");
|
||||
def->category = L("Strength");
|
||||
def->tooltip = L("Grades the Gyroid and TPMS infill inside the object: its cells grow from the surface of the "
|
||||
"object towards its center. The sparse infill density is used at the surface and the interior "
|
||||
"density at the center.\n"
|
||||
"Distance warp, Smooth blend and Stepped shells follow the distance to the nearest surface, "
|
||||
"including the top and bottom, with the interior density at the point farthest from it:\n"
|
||||
" - Distance warp: one continuous pattern, stretched and sheared where the distance changes "
|
||||
"across directions, as in plates and long parts.\n"
|
||||
" - Smooth blend: the patterns of neighbouring densities blended into each other, with small "
|
||||
"loops where they meet.\n"
|
||||
" - Stepped shells: shells of the regular pattern at densities about 1.5 times apart, their "
|
||||
"lines joined along the shell boundaries.\n"
|
||||
" - Lobes: follows the 3D shape of the object, including its top and bottom. Every lobe, a part "
|
||||
"joined to the rest by a narrower neck, is graded towards its own center.\n"
|
||||
" - Normal Z, Y or X: follows the sections of the object normal to that axis, so the density "
|
||||
"does not change along it.");
|
||||
def->enum_keys_map = &ConfigOptionEnum<TpmsAdaptiveMode>::get_enum_values();
|
||||
def->enum_values.push_back("disabled");
|
||||
def->enum_values.push_back("distance_warp");
|
||||
def->enum_values.push_back("smooth_blend");
|
||||
def->enum_values.push_back("stepped_shells");
|
||||
def->enum_values.push_back("lobes");
|
||||
def->enum_values.push_back("normal_z");
|
||||
def->enum_values.push_back("normal_y");
|
||||
def->enum_values.push_back("normal_x");
|
||||
def->enum_labels.push_back(L("Disabled"));
|
||||
def->enum_labels.push_back(L("Distance warp"));
|
||||
def->enum_labels.push_back(L("Smooth blend"));
|
||||
def->enum_labels.push_back(L("Stepped shells"));
|
||||
def->enum_labels.push_back(L("Lobes"));
|
||||
def->enum_labels.push_back(L("Normal Z"));
|
||||
def->enum_labels.push_back(L("Normal Y"));
|
||||
def->enum_labels.push_back(L("Normal X"));
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionEnum<TpmsAdaptiveMode>(TpmsAdaptiveMode::Disabled));
|
||||
|
||||
def = this->add("tpms_interior_density", coPercent);
|
||||
def->label = L("Interior density");
|
||||
def->category = L("Strength");
|
||||
def->tooltip = L("Density of the adaptive infill at the center of the object.");
|
||||
def->sidetext = "%";
|
||||
def->min = 1;
|
||||
def->max = 100;
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionPercent(5));
|
||||
|
||||
def = this->add("tpms_adaptive_gradient", coEnum);
|
||||
def->label = L("Adaptive gradient");
|
||||
def->category = L("Strength");
|
||||
def->tooltip = L("How the density changes from the surface to the center of the object.\n"
|
||||
"Linear: the density changes at a constant rate.\n"
|
||||
"Quadratic: the density stays close to the sparse infill density near the surface and "
|
||||
"changes faster towards the center.\n"
|
||||
"Exponential: the density changes quickly just below the surface and levels off towards "
|
||||
"the center.");
|
||||
def->enum_keys_map = &ConfigOptionEnum<TpmsAdaptiveGradient>::get_enum_values();
|
||||
def->enum_values.push_back("linear");
|
||||
def->enum_values.push_back("quadratic");
|
||||
def->enum_values.push_back("exponential");
|
||||
def->enum_labels.push_back(L("Linear"));
|
||||
def->enum_labels.push_back(L("Quadratic"));
|
||||
def->enum_labels.push_back(L("Exponential"));
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionEnum<TpmsAdaptiveGradient>(TpmsAdaptiveGradient::Linear));
|
||||
|
||||
// Z-buckling bias optimization (experimental). Tightens the gyroid wave along the Z
|
||||
// (vertical) axis at low infill density to shorten the effective column length under
|
||||
// Z-axis compression. Filament use at the same `sparse_infill_density` setting is
|
||||
|
||||
Reference in new issue
Block a user