mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-10-18 22:31:13 -06:00
Merge branch 'main' into enh-port-edit-gcode-dlg
This commit is contained in:
commit
d5ee4ff1ab
87 changed files with 687 additions and 270 deletions
|
@ -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()) {
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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,"
|
||||
|
|
|
@ -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))
|
||||
|
||||
)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue