mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-07-16 23:42:11 +00:00
Anisotropic surfaces + Separated Infills (remake) (#11682)
Co-authored-by: Rodrigo Faselli <162915171+RF47@users.noreply.github.com> Co-authored-by: Ian Bassi <ian.bassi@outlook.com>
This commit is contained in:
@@ -188,6 +188,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) },
|
||||
@@ -6869,6 +6875,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