mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-27 02:41:17 +00:00
Size the prime tower from the actual flush volumes
Prime towers reserved depth from the prime volume alone, ignoring the flush matrix: rib-wall towers in both the engine and the preview, and rectangle and cone towers in the preview, which never carried the flush-aware estimate the engine already used. The preview also read the print preset, which does not carry the printer- and filament-scope keys the estimate needs and so silently fell back to defaults. On multi-nozzle printers the flush matrix, which holds one block per nozzle, was additionally read as a single block. The tower could come out too small for the purge it has to hold. The flush-based estimate also skipped the height-based minimum depth that the prime-volume one applies, so low-flush prints could estimate a tower shallower than the one that actually gets built.
This commit is contained in:
@@ -17,6 +17,7 @@ namespace Slic3r
|
||||
|
||||
class WipeTowerWriter2;
|
||||
class PrintRegionConfig;
|
||||
class ConfigBase;
|
||||
|
||||
class WipeTower2
|
||||
{
|
||||
@@ -26,7 +27,10 @@ public:
|
||||
// in WipeTowerIntegration::append_tcr2 does not strip it.
|
||||
static const std::string wait_for_temp_tag() { return ";_WAIT_FOR_TEMP_ON_WIPE_TOWER"; }
|
||||
static std::pair<double, double> get_wipe_tower_cone_base(double width, double height, double depth, double angle_deg);
|
||||
static std::vector<std::vector<float>> extract_wipe_volumes(const PrintConfig& config);
|
||||
static std::vector<std::vector<float>> extract_wipe_volumes(const ConfigBase& config);
|
||||
// Estimated total flush volume of a SEMM print with the given number of filaments,
|
||||
// used to reserve wipe tower space before the tower is generated.
|
||||
static float estimate_semm_flush_volume(const ConfigBase& config, size_t filaments_cnt);
|
||||
|
||||
|
||||
// Construct ToolChangeResult from current state of WipeTower2 and WipeTowerWriter2.
|
||||
|
||||
Reference in New Issue
Block a user