mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-16 05:27:50 +00:00
Verify WipeTower Footprint at Point of Generation
The clamps and validation work from estimates. Once the tower is generated, _make_wipe_tower re-tests the exact first-layer footprint, brim and cone base included, against the printable area and the exclusion zone, so an off-plate tower fails with a clear error instead of exporting unprintable G-code. The rectangle-wall mesh footprint learns the Type2 cone base so that check and the post-generation validation see the real outline. Pre-generation, validation hard-checks the body plus an explicit brim and warns on the estimated auto brim and cone base with the existing "may collide" strings, so the user hears about a marginal position on the first slice rather than only at generation time. Two fff_print fixtures that print a tower at the default position move it onto the 200 mm test bed, as the multifilament fixtures already do: the shipped default y of 220 is off that bed, and the backstop now says so instead of exporting the tower.
This commit is contained in:
@@ -574,6 +574,9 @@ static DynamicPrintConfig dual_extruder_toolchange_config()
|
||||
config.set_key_value("nozzle_temperature_range_high", new ConfigOptionInts({240, 240}));
|
||||
config.set_key_value("flush_multiplier", new ConfigOptionFloats({1}));
|
||||
config.set_key_value("flush_volumes_matrix", new ConfigOptionFloats({0, 140, 140, 0}));
|
||||
// Inside the 200x200 test bed; the default y, 220, is not, and generation rejects that.
|
||||
config.set_key_value("wipe_tower_x", new ConfigOptionFloats({50.}));
|
||||
config.set_key_value("wipe_tower_y", new ConfigOptionFloats({50.}));
|
||||
return config;
|
||||
}
|
||||
|
||||
|
||||
@@ -152,6 +152,8 @@ static DynamicPrintConfig wipe_tower_toolchange_config(const std::string &gcode_
|
||||
{ "outer_wall_filament_id", 2 },
|
||||
{ "inner_wall_filament_id", 2 },
|
||||
{ "enable_prime_tower", true },
|
||||
{ "wipe_tower_x", 50 }, // inside the 200x200 test bed
|
||||
{ "wipe_tower_y", 50 }, // (the default y, 220, is not)
|
||||
{ "layer_height", 0.3 },
|
||||
{ "gcode_flavor", gcode_flavor },
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user