Merge branch 'main' into enh-port-edit-gcode-dlg

This commit is contained in:
Ocraftyone 2024-01-08 22:41:35 -05:00 committed by GitHub
commit d5ee4ff1ab
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
87 changed files with 687 additions and 270 deletions

View file

@ -3113,10 +3113,15 @@ void FillMonotonicLineWGapFill::fill_surface_extrusion(const Surface* surface, c
params2.dont_adjust = true;
//BBS: always use no overlap expolygons to avoid overflow in top surface
for (const ExPolygon &rectilinear_area : this->no_overlap_expolygons) {
rectilinear_surface.expolygon = rectilinear_area;
fill_surface_by_lines(&rectilinear_surface, params2, polylines_rectilinear);
}
//for (const ExPolygon &rectilinear_area : this->no_overlap_expolygons) {
// rectilinear_surface.expolygon = rectilinear_area;
// fill_surface_by_lines(&rectilinear_surface, params2, polylines_rectilinear);
//}
// Orca: The above causes pockmarks in top layer surfaces with a properly calibrated printer with PA and EM tuned.
// Revert implementation to the prusa slicer approach that respects the infill/wall overlap setting
// while retaining the gap fill logic below. The user can adjust the overlap calue to reduce overflow if needed.
fill_surface_by_lines(surface, params2, polylines_rectilinear);
ExPolygons unextruded_areas;
Flow new_flow = params.flow;
if (!polylines_rectilinear.empty()) {

View file

@ -1716,18 +1716,18 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
project->project_country_code = m_contry_code;
}
//BBS: version check
// Orca: skip version check
bool dont_load_config = !m_load_config;
if (m_bambuslicer_generator_version) {
Semver app_version = *(Semver::parse(SoftFever_VERSION));
Semver file_version = *m_bambuslicer_generator_version;
if (file_version.maj() != app_version.maj())
dont_load_config = true;
}
else {
m_bambuslicer_generator_version = Semver::parse("0.0.0.0");
dont_load_config = true;
}
// if (m_bambuslicer_generator_version) {
// Semver app_version = *(Semver::parse(SoftFever_VERSION));
// Semver file_version = *m_bambuslicer_generator_version;
// if (file_version.maj() != app_version.maj())
// dont_load_config = true;
// }
// else {
// m_bambuslicer_generator_version = Semver::parse("0.0.0.0");
// dont_load_config = true;
// }
// we then loop again the entries to read other files stored in the archive
for (mz_uint i = 0; i < num_entries; ++i) {

View file

@ -5948,7 +5948,8 @@ inline std::string polygon_to_string(const Polygon &polygon, Print *print, bool
// this id is used to generate unique object id for each object.
std::string GCode::set_object_info(Print *print) {
const auto gflavor = print->config().gcode_flavor.value;
if (gflavor != gcfKlipper && gflavor != gcfMarlinLegacy && gflavor != gcfMarlinFirmware && gflavor != gcfRepRapFirmware)
if (print->is_BBL_printer() ||
(gflavor != gcfKlipper && gflavor != gcfMarlinLegacy && gflavor != gcfMarlinFirmware && gflavor != gcfRepRapFirmware))
return "";
std::ostringstream gcode;
size_t object_id = 0;

View file

@ -878,7 +878,7 @@ static std::vector<std::string> s_Preset_printer_options {
"cooling_tube_retraction",
"cooling_tube_length", "high_current_on_filament_swap", "parking_pos_retraction", "extra_loading_move", "purge_in_prime_tower", "enable_filament_ramming",
"z_offset",
"disable_m73", "preferred_orientation", "emit_machine_limits_to_gcode"
"disable_m73", "preferred_orientation", "emit_machine_limits_to_gcode", "support_multi_bed_types"
};
static std::vector<std::string> s_Preset_sla_print_options {

View file

@ -294,6 +294,7 @@ bool Print::invalidate_state_by_config_options(const ConfigOptionResolver & /* n
|| opt_key == "enable_filament_ramming"
|| opt_key == "purge_in_prime_tower"
|| opt_key == "z_offset"
|| opt_key == "support_multi_bed_types"
) {
steps.emplace_back(psWipeTower);
steps.emplace_back(psSkirtBrim);

View file

@ -2355,6 +2355,12 @@ def = this->add("filament_loading_speed", coFloats);
def->readonly = false;
def->set_default_value(new ConfigOptionEnum<GCodeFlavor>(gcfMarlinLegacy));
def = this->add("support_multi_bed_types", coBool);
def->label = L("Support multi bed types");
def->tooltip = L("Enable this option if you want to use multiple bed types");
def->mode = comSimple;
def->set_default_value(new ConfigOptionBool(false));
def = this->add("gcode_label_objects", coBool);
def->label = L("Label objects");
def->tooltip = L("Enable this to add comments into the G-Code labeling print moves with what object they belong to,"

View file

@ -1051,6 +1051,7 @@ PRINT_CONFIG_CLASS_DEFINE(
((ConfigOptionFloats, filament_multitool_ramming_flow))
((ConfigOptionBool, purge_in_prime_tower))
((ConfigOptionBool, enable_filament_ramming))
((ConfigOptionBool, support_multi_bed_types))
)