mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-08-06 01:27:40 +00:00
Merge branch 'main' into feature/h2c_support_clean
This commit is contained in:
@@ -197,6 +197,12 @@ static t_config_enum_values s_keys_map_PowerLossRecoveryMode {
|
||||
};
|
||||
CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(PowerLossRecoveryMode)
|
||||
|
||||
static t_config_enum_values s_keys_map_CenterOfSurfacePattern{
|
||||
{"each_surface", int(CenterOfSurfacePattern::Each_Surface)},
|
||||
{"each_model", int(CenterOfSurfacePattern::Each_Model)},
|
||||
{"each_assembly", int(CenterOfSurfacePattern::Each_Assembly)}};
|
||||
CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(CenterOfSurfacePattern)
|
||||
|
||||
static t_config_enum_values s_keys_map_FuzzySkinType {
|
||||
{ "none", int(FuzzySkinType::None) },
|
||||
{ "external", int(FuzzySkinType::External) },
|
||||
@@ -230,6 +236,13 @@ static t_config_enum_values s_keys_map_FuzzySkinMode {
|
||||
};
|
||||
CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(FuzzySkinMode)
|
||||
|
||||
static t_config_enum_values s_keys_map_TopSurfaceExpansionDirection {
|
||||
{ "inward_and_outward", int(TopSurfaceExpansionDirection::InwardAndOutward) },
|
||||
{ "inward", int(TopSurfaceExpansionDirection::Inward) },
|
||||
{ "outward", int(TopSurfaceExpansionDirection::Outward) }
|
||||
};
|
||||
CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(TopSurfaceExpansionDirection)
|
||||
|
||||
static t_config_enum_values s_keys_map_InfillPattern {
|
||||
{ "monotonic", ipMonotonic },
|
||||
{ "monotonicline", ipMonotonicLine },
|
||||
@@ -531,6 +544,12 @@ static t_config_enum_values s_keys_map_PerimeterGeneratorType{
|
||||
};
|
||||
CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(PerimeterGeneratorType)
|
||||
|
||||
static t_config_enum_values s_keys_map_ToolChangeOrderingType {
|
||||
{ "default", int(ToolChangeOrderingType::Default) },
|
||||
{ "cyclic", int(ToolChangeOrderingType::Cyclic) }
|
||||
};
|
||||
CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(ToolChangeOrderingType)
|
||||
|
||||
static const t_config_enum_values s_keys_map_ZHopType = {
|
||||
{ "Auto Lift", zhtAuto },
|
||||
{ "Normal Lift", zhtNormal },
|
||||
@@ -2191,6 +2210,47 @@ void PrintConfigDef::init_fff_params()
|
||||
def->max = 100;
|
||||
def->set_default_value(new ConfigOptionPercent(100));
|
||||
|
||||
def = this->add("top_surface_expansion", coFloat);
|
||||
def->label = L("Top surface expansion");
|
||||
def->category = L("Strength");
|
||||
def->tooltip = L("Expands the top surfaces by this distance to connect distinct top surfaces and fill gaps.\n"
|
||||
"Useful for cases where the top surface is interrupted by a raised feature, such as text on a plane."
|
||||
"Expanding it removes the holes beneath these features and creates a continuous path with a better finish for printing on top."
|
||||
"The expansion is applied to the original top surface, before any other processing such as bridging or overhang detection.");
|
||||
def->sidetext = L("mm");
|
||||
def->min = 0;
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionFloat(0));
|
||||
|
||||
def = this->add("top_surface_expansion_margin", coFloat);
|
||||
def->label = L("Top expansion wall margin");
|
||||
def->category = L("Strength");
|
||||
def->tooltip = L("Using “Top surface expansion” may cause a surface that did not previously touch the model's outer walls to now do so.\n"
|
||||
"This can cause contraction marks (such as the hull line) on the outer walls.\n"
|
||||
"By adding a small margin, this contraction will not occur directly on the walls, thereby preventing a visible mark.");
|
||||
def->sidetext = L("mm");
|
||||
def->min = 0;
|
||||
def->max = 10;
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionFloat(0));
|
||||
|
||||
def = this->add("top_surface_expansion_direction", coEnum);
|
||||
def->label = L("Top expansion direction");
|
||||
def->category = L("Strength");
|
||||
def->tooltip = L("Direction in which the top surface expansion grows.\n"
|
||||
" - Inward grows into the holes and gaps left by features rising from the middle of a top surface.\n"
|
||||
" - Outward grows the outer edge of the surface, connecting surfaces separated by features that can divide a surface, such as a lattice pattern.\n"
|
||||
" - Inward and Outward does both.");
|
||||
def->enum_keys_map = &ConfigOptionEnum<TopSurfaceExpansionDirection>::get_enum_values();
|
||||
def->enum_values.push_back("inward_and_outward");
|
||||
def->enum_values.push_back("inward");
|
||||
def->enum_values.push_back("outward");
|
||||
def->enum_labels.push_back(L("Inward and Outward"));
|
||||
def->enum_labels.push_back(L("Inward"));
|
||||
def->enum_labels.push_back(L("Outward"));
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionEnum<TopSurfaceExpansionDirection>(TopSurfaceExpansionDirection::InwardAndOutward));
|
||||
|
||||
def = this->add("bottom_surface_pattern", coEnum);
|
||||
def->label = L("Bottom surface pattern");
|
||||
def->category = L("Strength");
|
||||
@@ -6314,6 +6374,22 @@ void PrintConfigDef::init_fff_params()
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionBool(false));
|
||||
|
||||
def = this->add("toolchange_ordering", coEnum);
|
||||
def->label = L("Toolchange ordering");
|
||||
def->category = L("Advanced");
|
||||
def->tooltip = L(
|
||||
"Determines the order of tool changes on each layer.\n"
|
||||
"- Default: Starts with the last used extruder to minimize tool changes.\n"
|
||||
"- Cyclic: Uses a fixed tool sequence each layer. This sacrifices speed for better surface quality, as the extra toolchanges allow layers more time to cool."
|
||||
);
|
||||
def->mode = comAdvanced;
|
||||
def->enum_keys_map = &ConfigOptionEnum<ToolChangeOrderingType>::get_enum_values();
|
||||
def->enum_values.emplace_back("default");
|
||||
def->enum_values.emplace_back("cyclic");
|
||||
def->enum_labels.emplace_back(L("Default"));
|
||||
def->enum_labels.emplace_back(L("Cyclic"));
|
||||
def->set_default_value(new ConfigOptionEnum<ToolChangeOrderingType>(ToolChangeOrderingType::Default));
|
||||
|
||||
def = this->add("slice_closing_radius", coFloat);
|
||||
def->label = L("Slice gap closing radius");
|
||||
def->category = L("Quality");
|
||||
@@ -7037,6 +7113,48 @@ void PrintConfigDef::init_fff_params()
|
||||
def->min = 0;
|
||||
def->set_default_value(new ConfigOptionFloat(0.6));
|
||||
|
||||
def = this->add("anisotropic_surfaces", coBool);
|
||||
def->label = L("Anisotropic surfaces");
|
||||
def->category = L("Strength");
|
||||
def->tooltip = L("Anisotropic patterns on the top and bottom surfaces.\n"
|
||||
"Co-directional printing mode will be applied. For certain patterns, omni-directional filling provides color "
|
||||
"dispersion when using multi-colored or silk plastics.\n"
|
||||
"This option disable the gap fill.\n"
|
||||
"This option can increase a printing time.");
|
||||
def->mode = comExpert;
|
||||
def->set_default_value(new ConfigOptionBool(false));
|
||||
|
||||
def = this->add("separated_infills", coBool);
|
||||
def->label = L("Separated infills");
|
||||
def->category = L("Strength");
|
||||
def->tooltip = L("Aligns the internal infill pattern of each part independently instead of across the whole object or assembly.\n"
|
||||
"By default, aligned infill patterns share a single origin for the entire object, so the pattern of every "
|
||||
"part is referenced to the same point. When enabled, each connected body is aligned on its own: parts that "
|
||||
"touch or overlap are treated as one body and share an origin, while parts detached from the rest each get "
|
||||
"their own.\n Useful when an assembly groups several distinct objects that should each keep a self-centered infill.\n"
|
||||
"Only affects centered infill patterns (Archimedean Chords, Octagram Spiral) and patterns driven by an "
|
||||
"infill rotation template.");
|
||||
def->mode = comExpert;
|
||||
def->set_default_value(new ConfigOptionBool(false));
|
||||
|
||||
def = this->add("center_of_surface_pattern", coEnum);
|
||||
def->label = L("Center surface pattern on");
|
||||
def->category = L("Strength");
|
||||
def->tooltip = L("Chooses where the centering point of centered top/bottom surface patterns (Archimedean Chords, "
|
||||
"Octagram Spiral) is placed.\n"
|
||||
" - Each Surface: centers the pattern on every individual surface region, so each island is symmetric on its own.\n"
|
||||
" - Each Model: centers the pattern on each connected body. Parts that touch or overlap share one center; "
|
||||
"parts detached from the rest each get their own.\n"
|
||||
" - Each Assembly: uses a single shared center for the whole object or assembly.");
|
||||
def->enum_keys_map = &ConfigOptionEnum<CenterOfSurfacePattern>::get_enum_values();
|
||||
def->enum_values.push_back("each_surface");
|
||||
def->enum_values.push_back("each_model");
|
||||
def->enum_values.push_back("each_assembly");
|
||||
def->enum_labels.push_back(L("Each Surface"));
|
||||
def->enum_labels.push_back(L("Each Model"));
|
||||
def->enum_labels.push_back(L("Each Assembly"));
|
||||
def->mode = comExpert;
|
||||
def->set_default_value(new ConfigOptionEnum<CenterOfSurfacePattern>(CenterOfSurfacePattern::Each_Surface));
|
||||
|
||||
def = this->add("travel_speed", coFloats);
|
||||
def->label = L("Travel");
|
||||
|
||||
Reference in New Issue
Block a user