mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-18 11:02:08 +00:00
Compare commits
11 Commits
v1.4.0_bet
...
v1.4.0_bet
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bafd7356d6 | ||
|
|
1938ab44ba | ||
|
|
ab8e0665b6 | ||
|
|
2a2604ea95 | ||
|
|
55b5a6ff58 | ||
|
|
427f197ca9 | ||
|
|
52999ea757 | ||
|
|
e0335e73cf | ||
|
|
45a00489ec | ||
|
|
71b3230d62 | ||
|
|
d472eb7afb |
Binary file not shown.
Binary file not shown.
@@ -1310,6 +1310,22 @@ void PerimeterGenerator::process_arachne()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (this->print_config->wall_infill_order == WallInfillOrder::InnerOuterInnerInfill) {
|
||||||
|
if (ordered_extrusions.size() > 1) {
|
||||||
|
std::vector<int> extPs;
|
||||||
|
for (int i = 0; i < ordered_extrusions.size(); ++i) {
|
||||||
|
if (ordered_extrusions[i].extrusion->inset_idx == 0)
|
||||||
|
extPs.push_back(i);
|
||||||
|
}
|
||||||
|
for (int i = 0; i < extPs.size(); ++i) {
|
||||||
|
if (extPs[i] == 0 || (i > 0 && extPs[i] - 1 == extPs[i - 1]))
|
||||||
|
continue;
|
||||||
|
std::swap(ordered_extrusions[extPs[i]], ordered_extrusions[extPs[i] - 1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (ExtrusionEntityCollection extrusion_coll = traverse_extrusions(*this, ordered_extrusions); !extrusion_coll.empty())
|
if (ExtrusionEntityCollection extrusion_coll = traverse_extrusions(*this, ordered_extrusions); !extrusion_coll.empty())
|
||||||
this->loops->append(extrusion_coll);
|
this->loops->append(extrusion_coll);
|
||||||
|
|
||||||
|
|||||||
@@ -346,7 +346,6 @@ void Preset::normalize(DynamicPrintConfig &config)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
handle_legacy_sla(config);
|
handle_legacy_sla(config);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -718,11 +717,10 @@ static std::vector<std::string> s_Preset_print_options {
|
|||||||
#ifdef HAS_PRESSURE_EQUALIZER
|
#ifdef HAS_PRESSURE_EQUALIZER
|
||||||
"max_volumetric_extrusion_rate_slope_positive", "max_volumetric_extrusion_rate_slope_negative",
|
"max_volumetric_extrusion_rate_slope_positive", "max_volumetric_extrusion_rate_slope_negative",
|
||||||
#endif /* HAS_PRESSURE_EQUALIZER */
|
#endif /* HAS_PRESSURE_EQUALIZER */
|
||||||
"inner_wall_speed", "outer_wall_speed", "small_perimeter_speed", "small_perimeter_threshold", "sparse_infill_speed", "internal_solid_infill_speed",
|
"inner_wall_speed", "outer_wall_speed", "sparse_infill_speed", "internal_solid_infill_speed",
|
||||||
"top_surface_speed", "support_speed", "support_object_xy_distance", "support_interface_speed",
|
"top_surface_speed", "support_speed", "support_object_xy_distance", "support_interface_speed",
|
||||||
"bridge_speed", "bridge_angle", "filter_out_gap_fill", "gap_infill_speed", "travel_speed", "travel_speed_z", "initial_layer_speed",
|
"bridge_speed", "gap_infill_speed", "travel_speed", "travel_speed_z", "initial_layer_speed",
|
||||||
"outer_wall_acceleration", "inner_wall_acceleration", "initial_layer_acceleration", "top_surface_acceleration", "default_acceleration", "travel_acceleration", "skirt_loops", "skirt_distance", "skirt_height", "draft_shield",
|
"outer_wall_acceleration", "initial_layer_acceleration", "top_surface_acceleration", "default_acceleration", "skirt_loops", "skirt_distance", "skirt_height", "draft_shield",
|
||||||
"default_jerk", "outer_wall_jerk", "inner_wall_jerk", "top_surface_jerk", "initial_layer_jerk","travel_jerk",
|
|
||||||
"brim_width", "brim_object_gap", "brim_type", "enable_support", "support_type", "support_threshold_angle", "enforce_support_layers",
|
"brim_width", "brim_object_gap", "brim_type", "enable_support", "support_type", "support_threshold_angle", "enforce_support_layers",
|
||||||
"raft_layers", "raft_first_layer_density", "raft_first_layer_expansion", "raft_contact_distance", "raft_expansion",
|
"raft_layers", "raft_first_layer_density", "raft_first_layer_expansion", "raft_contact_distance", "raft_expansion",
|
||||||
"support_base_pattern", "support_base_pattern_spacing", "support_expansion", "support_style",
|
"support_base_pattern", "support_base_pattern_spacing", "support_expansion", "support_style",
|
||||||
@@ -750,14 +748,16 @@ static std::vector<std::string> s_Preset_print_options {
|
|||||||
"timelapse_type", "internal_bridge_support_thickness",
|
"timelapse_type", "internal_bridge_support_thickness",
|
||||||
"wall_generator", "wall_transition_length", "wall_transition_filter_deviation", "wall_transition_angle",
|
"wall_generator", "wall_transition_length", "wall_transition_filter_deviation", "wall_transition_angle",
|
||||||
"wall_distribution_count", "min_feature_size", "min_bead_width",
|
"wall_distribution_count", "min_feature_size", "min_bead_width",
|
||||||
//SoftFever
|
"small_perimeter_speed", "small_perimeter_threshold","bridge_angle", "filter_out_gap_fill", "travel_acceleration","inner_wall_acceleration",
|
||||||
|
"default_jerk", "outer_wall_jerk", "inner_wall_jerk", "top_surface_jerk", "initial_layer_jerk","travel_jerk",
|
||||||
"top_solid_infill_flow_ratio","bottom_solid_infill_flow_ratio","only_one_wall_first_layer"
|
"top_solid_infill_flow_ratio","bottom_solid_infill_flow_ratio","only_one_wall_first_layer"
|
||||||
};
|
};
|
||||||
|
|
||||||
static std::vector<std::string> s_Preset_filament_options {
|
static std::vector<std::string> s_Preset_filament_options {
|
||||||
/*"filament_colour", */ "default_filament_colour","filament_diameter", "filament_type", "filament_soluble", "filament_is_support", "filament_max_volumetric_speed",
|
/*"filament_colour", */ "default_filament_colour","required_nozzle_HRC","filament_diameter", "filament_type", "filament_soluble", "filament_is_support",
|
||||||
"filament_flow_ratio", "enable_pressure_advance", "pressure_advance", "filament_density", "filament_cost", "filament_minimal_purge_on_wipe_tower",
|
"filament_max_volumetric_speed",
|
||||||
"chamber_temperature", "nozzle_temperature", "nozzle_temperature_initial_layer",
|
"filament_flow_ratio", "filament_density", "filament_cost", "filament_minimal_purge_on_wipe_tower",
|
||||||
|
"nozzle_temperature", "nozzle_temperature_initial_layer",
|
||||||
// BBS
|
// BBS
|
||||||
"cool_plate_temp", "eng_plate_temp", "hot_plate_temp", "textured_plate_temp", "cool_plate_temp_initial_layer", "eng_plate_temp_initial_layer", "hot_plate_temp_initial_layer","textured_plate_temp_initial_layer",
|
"cool_plate_temp", "eng_plate_temp", "hot_plate_temp", "textured_plate_temp", "cool_plate_temp_initial_layer", "eng_plate_temp_initial_layer", "hot_plate_temp_initial_layer","textured_plate_temp_initial_layer",
|
||||||
// "bed_type",
|
// "bed_type",
|
||||||
@@ -772,7 +772,9 @@ static std::vector<std::string> s_Preset_filament_options {
|
|||||||
"filament_vendor", "compatible_prints", "compatible_prints_condition", "compatible_printers", "compatible_printers_condition", "inherits",
|
"filament_vendor", "compatible_prints", "compatible_prints_condition", "compatible_printers", "compatible_printers_condition", "inherits",
|
||||||
//BBS
|
//BBS
|
||||||
"filament_wipe_distance", "additional_cooling_fan_speed",
|
"filament_wipe_distance", "additional_cooling_fan_speed",
|
||||||
"bed_temperature_difference", "nozzle_temperature_range_low", "nozzle_temperature_range_high"
|
"bed_temperature_difference", "nozzle_temperature_range_low", "nozzle_temperature_range_high",
|
||||||
|
//SoftFever
|
||||||
|
"enable_pressure_advance", "pressure_advance","chamber_temperature"
|
||||||
};
|
};
|
||||||
|
|
||||||
static std::vector<std::string> s_Preset_machine_limits_options {
|
static std::vector<std::string> s_Preset_machine_limits_options {
|
||||||
@@ -785,20 +787,19 @@ static std::vector<std::string> s_Preset_machine_limits_options {
|
|||||||
|
|
||||||
static std::vector<std::string> s_Preset_printer_options {
|
static std::vector<std::string> s_Preset_printer_options {
|
||||||
"printer_technology",
|
"printer_technology",
|
||||||
"printable_area", "bed_exclude_area","bed_custom_texture", "bed_custom_model", "gcode_flavor", "z_lift_type",
|
"printable_area", "bed_exclude_area","bed_custom_texture", "bed_custom_model", "gcode_flavor",
|
||||||
"single_extruder_multi_material", "machine_start_gcode", "machine_end_gcode", "before_layer_change_gcode", "layer_change_gcode", "change_filament_gcode",
|
"single_extruder_multi_material", "machine_start_gcode", "machine_end_gcode", "before_layer_change_gcode", "layer_change_gcode", "change_filament_gcode",
|
||||||
"printer_model", "printer_variant", "printable_height", "extruder_clearance_radius", "extruder_clearance_max_radius","extruder_clearance_height_to_lid", "extruder_clearance_height_to_rod",
|
"printer_model", "printer_variant", "printable_height", "extruder_clearance_radius", "extruder_clearance_max_radius","extruder_clearance_height_to_lid", "extruder_clearance_height_to_rod",
|
||||||
"default_print_profile", "inherits",
|
"default_print_profile", "inherits",
|
||||||
"silent_mode",
|
"silent_mode",
|
||||||
// BBS
|
// BBS
|
||||||
"scan_first_layer", "machine_load_filament_time", "machine_unload_filament_time", "machine_pause_gcode", "template_custom_gcode",
|
"scan_first_layer", "machine_load_filament_time", "machine_unload_filament_time", "machine_pause_gcode", "template_custom_gcode",
|
||||||
"nozzle_type", "nozzle_hrc","nozzle_diameter", "auxiliary_fan", "nozzle_volume","upward_compatible_machine",
|
"nozzle_type", "nozzle_hrc","auxiliary_fan", "nozzle_volume","upward_compatible_machine",
|
||||||
//SoftFever
|
//SoftFever
|
||||||
"host_type", "print_host", "printhost_apikey",
|
"host_type", "print_host", "printhost_apikey",
|
||||||
"printhost_cafile","printhost_port","printhost_authorization_type",
|
"printhost_cafile","printhost_port","printhost_authorization_type",
|
||||||
"printhost_user",
|
"printhost_user", "printhost_password", "printhost_ssl_ignore_revoke",
|
||||||
"printhost_password",
|
"z_lift_type", "thumbnails"
|
||||||
"printhost_ssl_ignore_revoke", "thumbnails"
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static std::vector<std::string> s_Preset_sla_print_options {
|
static std::vector<std::string> s_Preset_sla_print_options {
|
||||||
@@ -2285,21 +2286,6 @@ void add_correct_opts_to_diff(const std::string &opt_key, t_config_option_keys&
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// template<class T>
|
|
||||||
// void add_correct_opt_to_diff(const std::string &opt_key, t_config_option_keys& vec, const ConfigBase &other, const ConfigBase &this_c)
|
|
||||||
// {
|
|
||||||
// const T* opt_init = static_cast<const T*>(other.option(opt_key));
|
|
||||||
// const T* opt_cur = static_cast<const T*>(this_c.option(opt_key));
|
|
||||||
// int opt_init_max_id = opt_init->values.size() - 1;
|
|
||||||
// for (int i = 0; i < int(opt_cur->values.size()); i++)
|
|
||||||
// {
|
|
||||||
// int init_id = i <= opt_init_max_id ? i : 0;
|
|
||||||
// if (opt_cur->values[i] != opt_init->values[init_id])
|
|
||||||
// vec.emplace_back(opt_key + "#" + std::to_string(i));
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
// Use deep_diff to correct return of changed options, considering individual options for each extruder.
|
// Use deep_diff to correct return of changed options, considering individual options for each extruder.
|
||||||
inline t_config_option_keys deep_diff(const ConfigBase &config_this, const ConfigBase &config_other)
|
inline t_config_option_keys deep_diff(const ConfigBase &config_this, const ConfigBase &config_other)
|
||||||
{
|
{
|
||||||
@@ -2323,7 +2309,6 @@ inline t_config_option_keys deep_diff(const ConfigBase &config_this, const Confi
|
|||||||
case coBools: add_correct_opts_to_diff<ConfigOptionBools >(opt_key, diff, config_other, config_this); break;
|
case coBools: add_correct_opts_to_diff<ConfigOptionBools >(opt_key, diff, config_other, config_this); break;
|
||||||
case coFloats: add_correct_opts_to_diff<ConfigOptionFloats >(opt_key, diff, config_other, config_this); break;
|
case coFloats: add_correct_opts_to_diff<ConfigOptionFloats >(opt_key, diff, config_other, config_this); break;
|
||||||
case coStrings: add_correct_opts_to_diff<ConfigOptionStrings >(opt_key, diff, config_other, config_this); break;
|
case coStrings: add_correct_opts_to_diff<ConfigOptionStrings >(opt_key, diff, config_other, config_this); break;
|
||||||
// case coString: add_correct_opts_to_diff<ConfigOptionString >(opt_key, diff, config_other, config_this); break;
|
|
||||||
case coPercents:add_correct_opts_to_diff<ConfigOptionPercents >(opt_key, diff, config_other, config_this); break;
|
case coPercents:add_correct_opts_to_diff<ConfigOptionPercents >(opt_key, diff, config_other, config_this); break;
|
||||||
case coPoints: add_correct_opts_to_diff<ConfigOptionPoints >(opt_key, diff, config_other, config_this); break;
|
case coPoints: add_correct_opts_to_diff<ConfigOptionPoints >(opt_key, diff, config_other, config_this); break;
|
||||||
// BBS
|
// BBS
|
||||||
|
|||||||
@@ -1340,7 +1340,7 @@ void PresetBundle::load_selections(AppConfig &config, const PresetPreferences& p
|
|||||||
void PresetBundle::export_selections(AppConfig &config)
|
void PresetBundle::export_selections(AppConfig &config)
|
||||||
{
|
{
|
||||||
assert(this->printers.get_edited_preset().printer_technology() != ptFFF || filament_presets.size() >= 1);
|
assert(this->printers.get_edited_preset().printer_technology() != ptFFF || filament_presets.size() >= 1);
|
||||||
assert(this->printers.get_edited_preset().printer_technology() != ptFFF || filament_presets.size() > 1 || filaments.get_selected_preset_name() == filament_presets.front());
|
// assert(this->printers.get_edited_preset().printer_technology() != ptFFF || filament_presets.size() > 1 || filaments.get_selected_preset_name() == filament_presets.front());
|
||||||
config.clear_section("presets");
|
config.clear_section("presets");
|
||||||
config.set("presets", PRESET_PRINT_NAME, prints.get_selected_preset_name());
|
config.set("presets", PRESET_PRINT_NAME, prints.get_selected_preset_name());
|
||||||
config.set("presets", PRESET_FILAMENT_NAME, filament_presets.front());
|
config.set("presets", PRESET_FILAMENT_NAME, filament_presets.front());
|
||||||
@@ -3024,7 +3024,7 @@ std::pair<PresetsConfigSubstitutions, size_t> PresetBundle::load_vendor_configs_
|
|||||||
//parse error
|
//parse error
|
||||||
std::string subfile_path = path + "/" + vendor_name + "/" + subfile.second;
|
std::string subfile_path = path + "/" + vendor_name + "/" + subfile.second;
|
||||||
BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << boost::format(", got error when parse process setting from %1%") % subfile_path;
|
BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << boost::format(", got error when parse process setting from %1%") % subfile_path;
|
||||||
throw ConfigurationError((boost::format("Failed loading configuration file %1%\nSuggest cleaning the directory %2% firstly.\nReason: %3%") % subfile_path %vendor_system_path %reason).str());
|
throw ConfigurationError((boost::format("Failed loading configuration file %1%\nSuggest cleaning the directory %2% firstly") % subfile_path %vendor_system_path).str());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3501,4 +3501,4 @@ void PresetBundle::set_default_suppressed(bool default_suppressed)
|
|||||||
printers.set_default_suppressed(default_suppressed);
|
printers.set_default_suppressed(default_suppressed);
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace Slic3r
|
} // namespace Slic3r
|
||||||
|
|||||||
@@ -240,8 +240,7 @@ AboutDialog::AboutDialog()
|
|||||||
// version
|
// version
|
||||||
{
|
{
|
||||||
vesizer->Add(0, FromDIP(165), 1, wxEXPAND, FromDIP(5));
|
vesizer->Add(0, FromDIP(165), 1, wxEXPAND, FromDIP(5));
|
||||||
auto version_text = GUI_App::format_display_version();
|
auto version_string = _L("SoftFever Version") + " " + std::string(SoftFever_VERSION);
|
||||||
auto version_string = _L("SoftFever Version") + " " + std::string(version_text);
|
|
||||||
wxStaticText* version = new wxStaticText(this, wxID_ANY, version_string.c_str(), wxDefaultPosition, wxDefaultSize);
|
wxStaticText* version = new wxStaticText(this, wxID_ANY, version_string.c_str(), wxDefaultPosition, wxDefaultSize);
|
||||||
wxFont version_font = GetFont();
|
wxFont version_font = GetFont();
|
||||||
#ifdef __WXMSW__
|
#ifdef __WXMSW__
|
||||||
|
|||||||
@@ -1265,10 +1265,6 @@ bool MainFrame::can_send_gcode() const
|
|||||||
{
|
{
|
||||||
if (m_plater && !m_plater->model().objects.empty())
|
if (m_plater && !m_plater->model().objects.empty())
|
||||||
{
|
{
|
||||||
// BBL printer presets
|
|
||||||
if (!wxGetApp().preset_bundle->printers.get_edited_preset().is_custom_defined())
|
|
||||||
return false;
|
|
||||||
|
|
||||||
auto cfg = wxGetApp().preset_bundle->printers.get_edited_preset().config;
|
auto cfg = wxGetApp().preset_bundle->printers.get_edited_preset().config;
|
||||||
if (const auto *print_host_opt = cfg.option<ConfigOptionString>("print_host"); print_host_opt)
|
if (const auto *print_host_opt = cfg.option<ConfigOptionString>("print_host"); print_host_opt)
|
||||||
return !print_host_opt->value.empty();
|
return !print_host_opt->value.empty();
|
||||||
|
|||||||
@@ -1040,7 +1040,7 @@ void Sidebar::update_all_preset_comboboxes()
|
|||||||
p_mainframe->load_printer_url(host_url);
|
p_mainframe->load_printer_url(host_url);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_bed_type_list->SelectAndNotify(btPEI);
|
m_bed_type_list->SelectAndNotify(btPEI-1);
|
||||||
m_bed_type_list->Disable();
|
m_bed_type_list->Disable();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -11391,4 +11391,4 @@ SuppressBackgroundProcessingUpdate::~SuppressBackgroundProcessingUpdate()
|
|||||||
wxGetApp().plater()->schedule_background_process(m_was_scheduled);
|
wxGetApp().plater()->schedule_background_process(m_was_scheduled);
|
||||||
}
|
}
|
||||||
|
|
||||||
}} // namespace Slic3r::GUI
|
}} // namespace Slic3r::GUI
|
||||||
|
|||||||
@@ -10,5 +10,5 @@ endif()
|
|||||||
if(NOT DEFINED BBL_INTERNAL_TESTING)
|
if(NOT DEFINED BBL_INTERNAL_TESTING)
|
||||||
set(BBL_INTERNAL_TESTING "1")
|
set(BBL_INTERNAL_TESTING "1")
|
||||||
endif()
|
endif()
|
||||||
set(SoftFever_VERSION "1.4.0 beta1")
|
set(SoftFever_VERSION "1.4.0 beta3")
|
||||||
set(SLIC3R_VERSION "01.04.00.17")
|
set(SLIC3R_VERSION "01.04.00.17")
|
||||||
|
|||||||
Reference in New Issue
Block a user