Merge branch 'main' into feat/configurable-bambu-network-lib

This commit is contained in:
SoftFever
2026-01-05 21:06:39 +08:00
committed by GitHub
97 changed files with 2730 additions and 485 deletions

View File

@@ -97,7 +97,8 @@ public:
m_enable_timelapse_print(print_config.timelapse_type.value == TimelapseType::tlSmooth),
m_enable_wrapping_detection(print_config.enable_wrapping_detection && (print_config.wrapping_exclude_area.values.size() > 2) && (slice_used_filaments.size() <= 1)),
m_is_first_print(true),
m_print_config(&print_config)
m_print_config(&print_config),
m_last_wipe_tower_print_z(print_config.z_offset.value)
{
// initialize with the extruder offset of master extruder id
m_extruder_offsets.resize(print_config.filament_map.size(), print_config.extruder_offset.get_at(print_config.master_extruder_id.value - 1));
@@ -143,7 +144,7 @@ private:
// Current layer index.
int m_layer_idx;
int m_tool_change_idx;
double m_last_wipe_tower_print_z = 0.f;
double m_last_wipe_tower_print_z;
// BBS
Vec3d m_plate_origin;

View File

@@ -2036,7 +2036,11 @@ WipeTower::ToolChangeResult WipeTower2::finish_layer()
// brim (first layer only)
if (first_layer) {
writer.append("; WIPE_TOWER_BRIM_START\n");
size_t loops_num = (m_wipe_tower_brim_width + spacing/2.f) / spacing;
float brim_width = m_wipe_tower_brim_width;
if (brim_width < 0.f)
brim_width = WipeTower::get_auto_brim_by_height(m_wipe_tower_height);
size_t loops_num = (brim_width + spacing / 2.f) / spacing;
for (size_t i = 0; i < loops_num; ++ i) {
poly = offset(poly, scale_(spacing)).front();