This commit is contained in:
enricoturri1966 2023-03-16 08:46:34 +01:00
commit 92515504c0
8 changed files with 3923 additions and 455 deletions

View file

@ -1,231 +1,240 @@
min_slic3r_version = 2.6.0-alpha1 min_slic3r_version = 2.6.0-alpha5
1.7.0-alpha0 Added profiles for Print With Smile filaments. 1.7.0-alpha1 Added profiles for Original Prusa XL. Added filament profile for Prusament PETG Tungsten 75%.
1.6.0-alpha2 Added profile for Prusament PETG Carbon Fiber and Fiberthree F3 PA-GF30 Pro. Updated acceleration settings for Prusa MINI. min_slic3r_version = 2.6.0-alpha1
1.6.0-alpha1 Updated FW version notification. Decreased min layer time for PLA. 1.7.0-alpha0 Added profiles for Print With Smile filaments.
1.6.0-alpha0 Default top fill set to monotonic lines. Updated infill/perimeter overlap values. Updated output filename format. Enabled dynamic overhang speeds. 1.6.0-alpha2 Added profile for Prusament PETG Carbon Fiber and Fiberthree F3 PA-GF30 Pro. Updated acceleration settings for Prusa MINI.
min_slic3r_version = 2.5.0-alpha0 1.6.0-alpha1 Updated FW version notification. Decreased min layer time for PLA.
1.5.7 Added filament profile for Prusament PETG Carbon Fiber and Fiberthree F3 PA-GF30 Pro. 1.6.0-alpha0 Default top fill set to monotonic lines. Updated infill/perimeter overlap values. Updated output filename format. Enabled dynamic overhang speeds.
1.5.6 Updated FW version notification (MK2.5/MK3 family). Added filament profile for Kimya PEBA-S. min_slic3r_version = 2.5.1-rc0
1.5.5 Added new Prusament Resin material profiles. Enabled g-code thumbnails for MK2.5 family printers. 1.6.1 Added filament profile for Prusament PETG Tungsten 75%. Updated Prusa XL profiles.
1.5.4 Added material profiles for Prusament Resin BioBased60. 1.6.0 Added Original Prusa XL profiles. Updated acceleration settings for Prusa MINI. Updated infill/perimeter overlap values.
1.5.3 Added filament profiles for ColorFabb VarioShore TPU, FormFutura PP, NinjaTek NinjaFlex/Cheetah TPU and for multiple Eolas Prints filaments. Updated bridging settings in 50um and 70um profiles. min_slic3r_version = 2.5.0-alpha0
1.5.2 Added SLA material profiles. 1.5.8 Added filament profile for Prusament PETG Tungsten 75%. Updated FW version notification.
1.5.1 Renamed filament type "NYLON" to "PA". Updated Adura X profile. Updated PETG fan settings for Prusa MINI (removed fan ramp up). 1.5.7 Added filament profile for Prusament PETG Carbon Fiber and Fiberthree F3 PA-GF30 Pro.
1.5.0 Updated arachne parameters. Added profiles for Jessie filaments. 1.5.6 Updated FW version notification (MK2.5/MK3 family). Added filament profile for Kimya PEBA-S.
1.5.0-alpha1 Added filament profile for Prusament PA11 Carbon Fiber. Added profiles for multiple 3D-Fuel filaments. 1.5.5 Added new Prusament Resin material profiles. Enabled g-code thumbnails for MK2.5 family printers.
1.5.0-alpha0 Added parameters for Arachne perimeter generator. Changed default seam position. Updated output filename format. 1.5.4 Added material profiles for Prusament Resin BioBased60.
min_slic3r_version = 2.4.0-rc 1.5.3 Added filament profiles for ColorFabb VarioShore TPU, FormFutura PP, NinjaTek NinjaFlex/Cheetah TPU and for multiple Eolas Prints filaments. Updated bridging settings in 50um and 70um profiles.
1.4.9 Updated FW version notification. 1.5.2 Added SLA material profiles.
1.4.8 Added filament and SLA material profiles. Updated settings. 1.5.1 Renamed filament type "NYLON" to "PA". Updated Adura X profile. Updated PETG fan settings for Prusa MINI (removed fan ramp up).
1.4.7 Added filament profile for Prusament PA11 Carbon Fiber. Added profiles for multiple 3D-Fuel filaments. 1.5.0 Updated arachne parameters. Added profiles for Jessie filaments.
1.4.6 Added SLA materials. Updated filament profiles. 1.5.0-alpha1 Added filament profile for Prusament PA11 Carbon Fiber. Added profiles for multiple 3D-Fuel filaments.
1.4.5 Added MMU2/S profiles for 0.25mm nozzle. Updated FW version. Enabled g-code thumbnails for MK3 family printers. Updated end g-code. 1.5.0-alpha0 Added parameters for Arachne perimeter generator. Changed default seam position. Updated output filename format.
1.4.4 Added multiple Fiberlogy filament profiles. Updated Extrudr filament profiles. min_slic3r_version = 2.4.0-rc
1.4.3 Added new filament profiles and SLA materials. 1.4.10 Updated FW version notification.
1.4.2 Added SLA material profiles. 1.4.9 Updated FW version notification.
1.4.1 Updated firmware version. 1.4.8 Added filament and SLA material profiles. Updated settings.
1.4.0 Updated for the PrusaSlicer 2.4.0-rc release. Updated SLA material colors. 1.4.7 Added filament profile for Prusament PA11 Carbon Fiber. Added profiles for multiple 3D-Fuel filaments.
min_slic3r_version = 2.4.0-beta2 1.4.6 Added SLA materials. Updated filament profiles.
1.4.0-beta3 Added material profiles for Prusament Resins. 1.4.5 Added MMU2/S profiles for 0.25mm nozzle. Updated FW version. Enabled g-code thumbnails for MK3 family printers. Updated end g-code.
1.4.0-beta2 Added SLA material colors. Updated BASF filament profiles. 1.4.4 Added multiple Fiberlogy filament profiles. Updated Extrudr filament profiles.
min_slic3r_version = 2.4.0-beta0 1.4.3 Added new filament profiles and SLA materials.
1.4.0-beta1 Updated pad wall slope angle for SLA printers. Updated Filatech Filacarbon profile for Prusa MINI. 1.4.2 Added SLA material profiles.
1.4.0-beta0 Added multiple Filatech and BASF filament profiles. Added material profiles for SL1S. 1.4.1 Updated firmware version.
min_slic3r_version = 2.4.0-alpha0 1.4.0 Updated for the PrusaSlicer 2.4.0-rc release. Updated SLA material colors.
1.4.0-alpha8 Added material profiles for Prusament Resin. Detect bridging perimeters enabled by default. min_slic3r_version = 2.4.0-beta2
1.4.0-alpha7 Updated brim_separation value. Updated Prusa MINI end g-code. Added Filamentworld filament profiles. 1.4.0-beta3 Added material profiles for Prusament Resins.
1.4.0-alpha6 Added nozzle priming after M600. Added nozzle diameter checks for 0.8 nozzle printer profiles. Updated FW version. Increased number of top solid infill layers (0.2 layer height). 1.4.0-beta2 Added SLA material colors. Updated BASF filament profiles.
1.4.0-alpha5 Added multiple add:north and Extrudr filament profiles. Updated support head settings (SL1S). min_slic3r_version = 2.4.0-beta0
1.4.0-alpha4 Decreased Area Fill (SL1S). 1.4.0-beta1 Updated pad wall slope angle for SLA printers. Updated Filatech Filacarbon profile for Prusa MINI.
1.4.0-alpha3 Updated SL1S tilt times. 1.4.0-beta0 Added multiple Filatech and BASF filament profiles. Added material profiles for SL1S.
1.4.0-alpha2 Updated Prusa MINI machine limits. min_slic3r_version = 2.4.0-alpha0
1.4.0-alpha1 Added new SL1S resin profiles. 1.4.0-alpha8 Added material profiles for Prusament Resin. Detect bridging perimeters enabled by default.
1.4.0-alpha0 Bumped up config version. 1.4.0-alpha7 Updated brim_separation value. Updated Prusa MINI end g-code. Added Filamentworld filament profiles.
1.3.0-alpha2 Added SL1S SPEED profiles. 1.4.0-alpha6 Added nozzle priming after M600. Added nozzle diameter checks for 0.8 nozzle printer profiles. Updated FW version. Increased number of top solid infill layers (0.2 layer height).
1.3.0-alpha1 Added Prusament PCCF. Increased travel acceleration for Prusa MINI. Updated start g-code for Prusa MINI. Added multiple add:north and Extrudr filament profiles. Updated Z travel speed values. 1.4.0-alpha5 Added multiple add:north and Extrudr filament profiles. Updated support head settings (SL1S).
1.3.0-alpha0 Disabled thick bridges, updated support settings. 1.4.0-alpha4 Decreased Area Fill (SL1S).
min_slic3r_version = 2.3.2-alpha0 1.4.0-alpha3 Updated SL1S tilt times.
1.3.8 Updated FW version notification. 1.4.0-alpha2 Updated Prusa MINI machine limits.
1.3.7 Updated firmware version. 1.4.0-alpha1 Added new SL1S resin profiles.
1.3.6 Updated firmware version. 1.4.0-alpha0 Bumped up config version.
1.3.5 Added material profiles for Prusament Resins. 1.3.0-alpha2 Added SL1S SPEED profiles.
1.3.4 Added material profiles for new Prusament Resins. Added profiles for multiple BASF filaments. 1.3.0-alpha1 Added Prusament PCCF. Increased travel acceleration for Prusa MINI. Updated start g-code for Prusa MINI. Added multiple add:north and Extrudr filament profiles. Updated Z travel speed values.
1.3.3 Added multiple profiles for Filatech filaments. Added material profiles for SL1S SPEED. Updated SLA print settings. 1.3.0-alpha0 Disabled thick bridges, updated support settings.
1.3.2 Added material profiles for Prusament Resin. min_slic3r_version = 2.3.2-alpha0
1.3.1 Added multiple add:north and Extrudr filament profiles. Updated support head settings (SL1S). 1.3.9 Updated FW version notification.
1.3.0 Added SL1S SPEED profiles. 1.3.8 Updated FW version notification.
min_slic3r_version = 2.3.0-rc1 1.3.7 Updated firmware version.
1.2.13 Updated FW version notification. 1.3.6 Updated firmware version.
1.2.12 Updated firmware version. 1.3.5 Added material profiles for Prusament Resins.
1.2.11 Updated firmware version. 1.3.4 Added material profiles for new Prusament Resins. Added profiles for multiple BASF filaments.
1.2.10 Added multiple profiles for Filatech filaments. Updated SLA print settings (pad wall slope angle). 1.3.3 Added multiple profiles for Filatech filaments. Added material profiles for SL1S SPEED. Updated SLA print settings.
1.2.9 Added material profiles for Prusament Resin. 1.3.2 Added material profiles for Prusament Resin.
1.2.8 Added multiple add:north and Extrudr filament profiles. 1.3.1 Added multiple add:north and Extrudr filament profiles. Updated support head settings (SL1S).
1.2.7 Updated "Prusament PC Blend Carbon Fiber" profile for Prusa MINI. 1.3.0 Added SL1S SPEED profiles.
1.2.6 Added filament profile for "Prusament PC Blend Carbon Fiber". min_slic3r_version = 2.3.0-rc1
1.2.5 Updated firmware version. Added filament profiles. Various improvements. 1.2.14 Updated FW version notification.
1.2.4 Updated cost/density values in filament settings. Various changes in print settings. 1.2.13 Updated FW version notification.
1.2.3 Updated firmware version. Updated end g-code in MMU2 printer profiles. 1.2.12 Updated firmware version.
1.2.2 Added Prusament PVB filament profile. Added 0.8mm nozzle profiles. 1.2.11 Updated firmware version.
1.2.1 Updated FW version for MK2.5 family printers. 1.2.10 Added multiple profiles for Filatech filaments. Updated SLA print settings (pad wall slope angle).
1.2.0 Added full_fan_speed_layer value for PETG. Increased support interface spacing for 0.6mm nozzle profiles. Updated firmware version. 1.2.9 Added material profiles for Prusament Resin.
min_slic3r_version = 2.3.0-beta2 1.2.8 Added multiple add:north and Extrudr filament profiles.
1.2.0-beta1 Updated end g-code. Added full_fan_speed_layer values. 1.2.7 Updated "Prusament PC Blend Carbon Fiber" profile for Prusa MINI.
min_slic3r_version = 2.3.0-beta0 1.2.6 Added filament profile for "Prusament PC Blend Carbon Fiber".
1.2.0-beta0 Adjusted infill anchor limits. Added filament spool weights. 1.2.5 Updated firmware version. Added filament profiles. Various improvements.
min_slic3r_version = 2.3.0-alpha4 1.2.4 Updated cost/density values in filament settings. Various changes in print settings.
1.2.0-alpha1 Renamed MK3S and MINI printer profiles. Updated end g-code (MINI). Added new SLA materials and filament profiles. 1.2.3 Updated firmware version. Updated end g-code in MMU2 printer profiles.
1.2.0-alpha0 Added filament spool weights 1.2.2 Added Prusament PVB filament profile. Added 0.8mm nozzle profiles.
min_slic3r_version = 2.2.0-alpha3 1.2.1 Updated FW version for MK2.5 family printers.
1.1.17 Updated FW version notification. 1.2.0 Added full_fan_speed_layer value for PETG. Increased support interface spacing for 0.6mm nozzle profiles. Updated firmware version.
1.1.16 Updated firmware version. min_slic3r_version = 2.3.0-beta2
1.1.15 Updated firmware version. 1.2.0-beta1 Updated end g-code. Added full_fan_speed_layer values.
1.1.14 Updated firmware version. min_slic3r_version = 2.3.0-beta0
1.1.13 Updated firmware version. Updated end g-code in MMU2 printer profiles. 1.2.0-beta0 Adjusted infill anchor limits. Added filament spool weights.
1.1.12 Added Prusament PVB filament profile. Added 0.8mm nozzle profiles. min_slic3r_version = 2.3.0-alpha4
1.1.11 Renamed MK3S and MINI printer profiles. Updated end g-code (MINI). Added new SLA materials and filament profiles. 1.2.0-alpha1 Renamed MK3S and MINI printer profiles. Updated end g-code (MINI). Added new SLA materials and filament profiles.
1.1.10 Updated firmware version. 1.2.0-alpha0 Added filament spool weights
1.1.9 Updated K values in filament profiles (linear advance). Added new filament profiles and SLA materials. min_slic3r_version = 2.2.0-alpha3
1.1.8 Updated start/end g-code scripts for MK3 family printer profiles (reduced extruder motor current for some print profiles). Added new filament and SLA material profiles. 1.1.17 Updated FW version notification.
1.1.7 Updated end g-code for MMU2 Single printer profiles. Added/updated filament and SLA material profiles. 1.1.16 Updated firmware version.
1.1.6 Updated firmware version for MK2.5/S and MK3/S. 1.1.15 Updated firmware version.
1.1.5 Updated MMU1 specific retraction settings for Prusament PC Blend 1.1.14 Updated firmware version.
1.1.4 Added Prusament PC Blend filament profile. 1.1.13 Updated firmware version. Updated end g-code in MMU2 printer profiles.
1.1.3 Added SLA material and filament profile 1.1.12 Added Prusament PVB filament profile. Added 0.8mm nozzle profiles.
1.1.2 Added renamed_from fields for PETG filaments to indicate that they were renamed from PET. 1.1.11 Renamed MK3S and MINI printer profiles. Updated end g-code (MINI). Added new SLA materials and filament profiles.
1.1.1 Added Verbatim and Fiberlogy PETG filament profiles. Updated auto cooling settings for ABS. 1.1.10 Updated firmware version.
1.1.1-beta Updated for PrusaSlicer 2.2.0-beta 1.1.9 Updated K values in filament profiles (linear advance). Added new filament profiles and SLA materials.
1.1.1-alpha4 Extended list of default filaments to be installed, top/bottom_solid_min_thickness defined, infill_acceleration changed etc 1.1.8 Updated start/end g-code scripts for MK3 family printer profiles (reduced extruder motor current for some print profiles). Added new filament and SLA material profiles.
1.1.1-alpha3 Print bed textures are now configurable from the Preset Bundle. Requires PrusaSlicer 2.2.0-alpha3 and newer. 1.1.7 Updated end g-code for MMU2 Single printer profiles. Added/updated filament and SLA material profiles.
# The following line (max_slic3r_version) forces the users of PrusaSlicer 2.2.0-alpha3 and newer to update the profiles to 1.1.1-alpha3 and newer, 1.1.6 Updated firmware version for MK2.5/S and MK3/S.
# so they will see the print bed. 1.1.5 Updated MMU1 specific retraction settings for Prusament PC Blend
max_slic3r_version = 2.2.0-alpha2 1.1.4 Added Prusament PC Blend filament profile.
min_slic3r_version = 2.2.0-alpha0 1.1.3 Added SLA material and filament profile
1.1.1-alpha2 Bumped up config version, so our in house customer will get updated profiles. 1.1.2 Added renamed_from fields for PETG filaments to indicate that they were renamed from PET.
1.1.0 Filament aliases, Creality profiles and other goodies for PrusaSlicer 2.2.0-alpha0 1.1.1 Added Verbatim and Fiberlogy PETG filament profiles. Updated auto cooling settings for ABS.
min_slic3r_version = 2.1.1-beta0 1.1.1-beta Updated for PrusaSlicer 2.2.0-beta
1.0.13 Updated FW version notification. 1.1.1-alpha4 Extended list of default filaments to be installed, top/bottom_solid_min_thickness defined, infill_acceleration changed etc
1.0.12 Updated firmware version. 1.1.1-alpha3 Print bed textures are now configurable from the Preset Bundle. Requires PrusaSlicer 2.2.0-alpha3 and newer.
1.0.11 Updated firmware version. # The following line (max_slic3r_version) forces the users of PrusaSlicer 2.2.0-alpha3 and newer to update the profiles to 1.1.1-alpha3 and newer,
1.0.10 Updated firmware version for MK2.5/S and MK3/S. # so they will see the print bed.
1.0.9 Updated firmware version for MK2.5/S and MK3/S. max_slic3r_version = 2.2.0-alpha2
1.0.8 Various changes in FFF profiles, new filaments/materials added. See changelog. min_slic3r_version = 2.2.0-alpha0
1.0.7 Updated layer height limits for MINI 1.1.1-alpha2 Bumped up config version, so our in house customer will get updated profiles.
1.0.6 Added Prusa MINI profiles 1.1.0 Filament aliases, Creality profiles and other goodies for PrusaSlicer 2.2.0-alpha0
min_slic3r_version = 2.1.0-alpha0 min_slic3r_version = 2.1.1-beta0
1.0.5 Added SLA materials 1.0.13 Updated FW version notification.
1.0.4 Updated firmware version and 0.25mm nozzle profiles 1.0.12 Updated firmware version.
1.0.3 Added filament profiles 1.0.11 Updated firmware version.
1.0.2 Added SLA materials 1.0.10 Updated firmware version for MK2.5/S and MK3/S.
1.0.1 Updated MK3 firmware version check to 3.8.0, new soluble support profiles for 0.6mm nozzle diameter MMU2S printers. 1.0.9 Updated firmware version for MK2.5/S and MK3/S.
1.0.0 Updated end G-code for the MMU2 profiles to lift the extruder at the end of print. Wipe tower bridging distance was made smaller for soluble supports. 1.0.8 Various changes in FFF profiles, new filaments/materials added. See changelog.
1.0.0-beta1 Updated color for the ASA filaments to differ from the other filaments. Single extruder printers now have no extruder color assigned, obects and toolpaths will be colored with the color of the active filament. 1.0.7 Updated layer height limits for MINI
1.0.0-beta0 Printer model checks in start G-codes, ASA filament profiles, limits on min / max SL1 exposition times 1.0.6 Added Prusa MINI profiles
1.0.0-alpha2 Printer model and nozzle diameter check min_slic3r_version = 2.1.0-alpha0
1.0.0-alpha1 Added Prusament ASA profile 1.0.5 Added SLA materials
1.0.0-alpha0 Filament specific retract for PET and similar copolymers, and for FLEX 1.0.4 Updated firmware version and 0.25mm nozzle profiles
min_slic3r_version = 1.42.0-alpha6 1.0.3 Added filament profiles
0.8.11 Updated firmware version. 1.0.2 Added SLA materials
0.8.10 Updated firmware version. 1.0.1 Updated MK3 firmware version check to 3.8.0, new soluble support profiles for 0.6mm nozzle diameter MMU2S printers.
0.8.9 Updated firmware version for MK2.5/S and MK3/S. 1.0.0 Updated end G-code for the MMU2 profiles to lift the extruder at the end of print. Wipe tower bridging distance was made smaller for soluble supports.
0.8.8 Updated firmware version for MK2.5/S and MK3/S. 1.0.0-beta1 Updated color for the ASA filaments to differ from the other filaments. Single extruder printers now have no extruder color assigned, obects and toolpaths will be colored with the color of the active filament.
0.8.7 Updated firmware version 1.0.0-beta0 Printer model checks in start G-codes, ASA filament profiles, limits on min / max SL1 exposition times
0.8.6 Updated firmware version for MK2.5/S and MK3/S 1.0.0-alpha2 Printer model and nozzle diameter check
0.8.5 Updated SL1 printer and material settings 1.0.0-alpha1 Added Prusament ASA profile
0.8.4 Added Prusament ASA profile 1.0.0-alpha0 Filament specific retract for PET and similar copolymers, and for FLEX
0.8.3 FW version and SL1 materials update min_slic3r_version = 1.42.0-alpha6
0.8.2 FFF and SL1 settings update 0.8.11 Updated firmware version.
0.8.1 Output settings and SLA materials update 0.8.10 Updated firmware version.
0.8.0 Updated for the PrusaSlicer 2.0.0 final release 0.8.9 Updated firmware version for MK2.5/S and MK3/S.
0.8.0-rc2 Updated firmware versions for MK2.5/S and MK3/S 0.8.8 Updated firmware version for MK2.5/S and MK3/S.
0.8.0-rc1 Updated SLA profiles 0.8.7 Updated firmware version
0.8.0-rc Updated for the PrusaSlicer 2.0.0-rc release 0.8.6 Updated firmware version for MK2.5/S and MK3/S
0.8.0-beta4 Updated SLA profiles 0.8.5 Updated SL1 printer and material settings
0.8.0-beta3 Updated SLA profiles 0.8.4 Added Prusament ASA profile
0.8.0-beta2 Updated SLA profiles 0.8.3 FW version and SL1 materials update
0.8.0-beta1 Updated SLA profiles 0.8.2 FFF and SL1 settings update
0.8.0-beta Updated SLA profiles 0.8.1 Output settings and SLA materials update
0.8.0-alpha9 Updated SLA and FFF profiles 0.8.0 Updated for the PrusaSlicer 2.0.0 final release
0.8.0-alpha8 Updated SLA profiles 0.8.0-rc2 Updated firmware versions for MK2.5/S and MK3/S
0.8.0-alpha7 Updated SLA profiles 0.8.0-rc1 Updated SLA profiles
0.8.0-alpha6 Updated SLA profiles 0.8.0-rc Updated for the PrusaSlicer 2.0.0-rc release
min_slic3r_version = 1.42.0-alpha 0.8.0-beta4 Updated SLA profiles
0.8.0-alpha Updated SLA profiles 0.8.0-beta3 Updated SLA profiles
0.4.0-alpha4 Updated SLA profiles 0.8.0-beta2 Updated SLA profiles
0.4.0-alpha3 Update of SLA profiles 0.8.0-beta1 Updated SLA profiles
0.4.0-alpha2 First SLA profiles 0.8.0-beta Updated SLA profiles
min_slic3r_version = 1.41.3-alpha 0.8.0-alpha9 Updated SLA and FFF profiles
0.4.12 Updated firmware version for MK2.5/S and MK3/S. 0.8.0-alpha8 Updated SLA profiles
0.4.11 Updated firmware version for MK2.5/S and MK3/S. 0.8.0-alpha7 Updated SLA profiles
0.4.10 Updated firmware version 0.8.0-alpha6 Updated SLA profiles
0.4.9 Updated firmware version for MK2.5/S and MK3/S min_slic3r_version = 1.42.0-alpha
0.4.8 MK2.5/3/S FW update 0.8.0-alpha Updated SLA profiles
0.4.7 MK2/S/MMU FW update 0.4.0-alpha4 Updated SLA profiles
0.4.6 Updated firmware versions for MK2.5/S and MK3/S 0.4.0-alpha3 Update of SLA profiles
0.4.5 Enabled remaining time support for MK2/S/MMU1 0.4.0-alpha2 First SLA profiles
0.4.4 Changelog: https://github.com/prusa3d/Slic3r-settings/blob/master/live/PrusaResearch/changelog.txt min_slic3r_version = 1.41.3-alpha
0.4.3 Changelog: https://github.com/prusa3d/Slic3r-settings/blob/master/live/PrusaResearch/changelog.txt 0.4.12 Updated firmware version for MK2.5/S and MK3/S.
0.4.2 Changelog: https://github.com/prusa3d/Slic3r-settings/blob/master/live/PrusaResearch/changelog.txt 0.4.11 Updated firmware version for MK2.5/S and MK3/S.
0.4.1 New MK2.5S and MK3S FW versions 0.4.10 Updated firmware version
0.4.0 Changelog: https://github.com/prusa3d/Slic3r-settings/blob/master/live/PrusaResearch/changelog.txt 0.4.9 Updated firmware version for MK2.5/S and MK3/S
min_slic3r_version = 1.41.1 0.4.8 MK2.5/3/S FW update
0.3.11 Updated firmware version for MK2.5/S and MK3/S. 0.4.7 MK2/S/MMU FW update
0.3.10 Updated firmware version 0.4.6 Updated firmware versions for MK2.5/S and MK3/S
0.3.9 Updated firmware version for MK2.5/S and MK3/S 0.4.5 Enabled remaining time support for MK2/S/MMU1
0.3.8 MK2.5/3/S FW update 0.4.4 Changelog: https://github.com/prusa3d/Slic3r-settings/blob/master/live/PrusaResearch/changelog.txt
0.3.7 MK2/S/MMU FW update 0.4.3 Changelog: https://github.com/prusa3d/Slic3r-settings/blob/master/live/PrusaResearch/changelog.txt
0.3.6 Updated firmware versions for MK2.5 and MK3 0.4.2 Changelog: https://github.com/prusa3d/Slic3r-settings/blob/master/live/PrusaResearch/changelog.txt
0.3.5 New MK2.5 and MK3 FW versions 0.4.1 New MK2.5S and MK3S FW versions
0.3.4 Changelog: https://github.com/prusa3d/Slic3r-settings/blob/master/live/PrusaResearch/changelog.txt 0.4.0 Changelog: https://github.com/prusa3d/Slic3r-settings/blob/master/live/PrusaResearch/changelog.txt
0.3.3 Prusament PETG released min_slic3r_version = 1.41.1
0.3.2 New MK2.5 and MK3 FW versions 0.3.11 Updated firmware version for MK2.5/S and MK3/S.
0.3.1 New MK2.5 and MK3 FW versions 0.3.10 Updated firmware version
0.3.0 New MK2.5 and MK3 FW version 0.3.9 Updated firmware version for MK2.5/S and MK3/S
min_slic3r_version = 1.41.0-alpha 0.3.8 MK2.5/3/S FW update
0.2.9 New MK2.5 and MK3 FW versions 0.3.7 MK2/S/MMU FW update
0.2.8 New MK2.5 and MK3 FW version 0.3.6 Updated firmware versions for MK2.5 and MK3
min_slic3r_version = 1.41.1 0.3.5 New MK2.5 and MK3 FW versions
0.2.7 New MK2.5 and MK3 FW version 0.3.4 Changelog: https://github.com/prusa3d/Slic3r-settings/blob/master/live/PrusaResearch/changelog.txt
0.2.6 Added MMU2 MK2.5 settings 0.3.3 Prusament PETG released
min_slic3r_version = 1.41.0-alpha 0.3.2 New MK2.5 and MK3 FW versions
0.2.5 Prusament is out - added prusament settings 0.3.1 New MK2.5 and MK3 FW versions
0.2.4 Added soluble support profiles for MMU2 0.3.0 New MK2.5 and MK3 FW version
0.2.3 Added materials for MMU2 single mode, edited MK3 xy stealth feedrate limit min_slic3r_version = 1.41.0-alpha
0.2.2 Edited MMU2 Single mode purge line 0.2.9 New MK2.5 and MK3 FW versions
0.2.1 Added PET and BVOH settings for MMU2 0.2.8 New MK2.5 and MK3 FW version
0.2.0-beta5 Fixed MMU1 ramming parameters min_slic3r_version = 1.41.1
0.2.0-beta4 Added filament loading speed at start, increased minimal purge on wipe tower 0.2.7 New MK2.5 and MK3 FW version
0.2.0-beta3 Edited ramming parameters and filament cooling moves for MMU2 0.2.6 Added MMU2 MK2.5 settings
0.2.0-beta2 Edited first layer speed and wipe tower position min_slic3r_version = 1.41.0-alpha
0.2.0-beta Removed limit on the MK3MMU2 height, added legacy M204 S T format to the MK2 profiles 0.2.5 Prusament is out - added prusament settings
0.2.0-alpha8 Added filament_load/unload_time for the PLA/ABS MMU2 filament presets. 0.2.4 Added soluble support profiles for MMU2
0.2.0-alpha7 Vojtech's fix the incorrect *MK3* references 0.2.3 Added materials for MMU2 single mode, edited MK3 xy stealth feedrate limit
0.2.0-alpha6 Jindra's way to fix the 0.2.0-alpha5 version 0.2.2 Edited MMU2 Single mode purge line
0.2.0-alpha5 Bumped up firmware versions for MK2.5/MK3 to 3.3.1, disabled priming areas for MK3MMU2 0.2.1 Added PET and BVOH settings for MMU2
0.2.0-alpha4 Extended the custom start/end G-codes of the MMU2.0 printers for no priming towers. 0.2.0-beta5 Fixed MMU1 ramming parameters
0.2.0-alpha3 Adjusted machine limits for time estimates, added filament density and cost 0.2.0-beta4 Added filament loading speed at start, increased minimal purge on wipe tower
0.2.0-alpha2 Renamed the key MK3SMMU to MK3MMU2, added a generic PLA MMU2 material 0.2.0-beta3 Edited ramming parameters and filament cooling moves for MMU2
0.2.0-alpha1 added initial profiles for the i3 MK3 Multi Material Upgrade 2.0 0.2.0-beta2 Edited first layer speed and wipe tower position
0.2.0-alpha moved machine limits from the start G-code to the new print profile parameters 0.2.0-beta Removed limit on the MK3MMU2 height, added legacy M204 S T format to the MK2 profiles
min_slic3r_version = 1.40.0 0.2.0-alpha8 Added filament_load/unload_time for the PLA/ABS MMU2 filament presets.
0.1.18 Updated firmware version 0.2.0-alpha7 Vojtech's fix the incorrect *MK3* references
0.1.17 Updated firmware version for MK2.5/S and MK3/S 0.2.0-alpha6 Jindra's way to fix the 0.2.0-alpha5 version
0.1.16 MK2.5/3/S FW update 0.2.0-alpha5 Bumped up firmware versions for MK2.5/MK3 to 3.3.1, disabled priming areas for MK3MMU2
0.1.15 MK2/S/MMU FW update 0.2.0-alpha4 Extended the custom start/end G-codes of the MMU2.0 printers for no priming towers.
0.1.14 Updated firmware versions for MK2.5 and MK3 0.2.0-alpha3 Adjusted machine limits for time estimates, added filament density and cost
0.1.13 New MK2.5 and MK3 FW versions 0.2.0-alpha2 Renamed the key MK3SMMU to MK3MMU2, added a generic PLA MMU2 material
0.1.12 New MK2.5 and MK3 FW versions 0.2.0-alpha1 added initial profiles for the i3 MK3 Multi Material Upgrade 2.0
0.1.11 fw version changed to 3.3.1 0.2.0-alpha moved machine limits from the start G-code to the new print profile parameters
0.1.10 MK3 jerk and acceleration update min_slic3r_version = 1.40.0
0.1.9 edited support extrusion width for 0.25 and 0.6 nozzles 0.1.18 Updated firmware version
0.1.8 extrusion width for 0,25, 0.6 and variable layer height fixes 0.1.17 Updated firmware version for MK2.5/S and MK3/S
0.1.7 Fixed errors in 0.25mm and 0.6mm profiles 0.1.16 MK2.5/3/S FW update
0.1.6 Split the MK2.5 profile from the MK2S 0.1.15 MK2/S/MMU FW update
min_slic3r_version = 1.40.0-beta 0.1.14 Updated firmware versions for MK2.5 and MK3
0.1.5 fixed printer_variant fields for the i3 MK3 0.25 and 0.6mm nozzles 0.1.13 New MK2.5 and MK3 FW versions
0.1.4 edited fw version, added z-raise after print 0.1.12 New MK2.5 and MK3 FW versions
min_slic3r_version = 1.40.0-alpha 0.1.11 fw version changed to 3.3.1
0.1.3 Fixed an incorrect position of the max_print_height parameter 0.1.10 MK3 jerk and acceleration update
0.1.2 Wipe tower changes 0.1.9 edited support extrusion width for 0.25 and 0.6 nozzles
0.1.1 Minor print speed adjustments 0.1.8 extrusion width for 0,25, 0.6 and variable layer height fixes
0.1.0 Initial 0.1.7 Fixed errors in 0.25mm and 0.6mm profiles
0.1.6 Split the MK2.5 profile from the MK2S
min_slic3r_version = 1.40.0-beta
0.1.5 fixed printer_variant fields for the i3 MK3 0.25 and 0.6mm nozzles
0.1.4 edited fw version, added z-raise after print
min_slic3r_version = 1.40.0-alpha
0.1.3 Fixed an incorrect position of the max_print_height parameter
0.1.2 Wipe tower changes
0.1.1 Minor print speed adjustments
0.1.0 Initial

File diff suppressed because it is too large Load diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

View file

@ -0,0 +1,123 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="360mm" height="360mm" viewBox="0 0 1020.5 1020.5">
<rect width="1020.5" height="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 5.7px;"/>
<g>
<rect width="1020.5" height="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="992.1" x2="1020.5" y2="992.1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="954" y1="963.8" x2="1020.5" y2="963.8" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="963.8" x2="576.3" y2="963.8" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="935.4" x2="1020.5" y2="935.4" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="907.1" x2="1020.5" y2="907.1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="878.7" x2="1020.5" y2="878.7" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="850.4" x2="1020.5" y2="850.4" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="822" x2="1020.5" y2="822" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="793.7" x2="1020.5" y2="793.7" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="765.4" x2="1020.5" y2="765.4" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="737" x2="1020.5" y2="737" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="708.7" x2="1020.5" y2="708.7" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="680.3" x2="1020.5" y2="680.3" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="652" x2="1020.5" y2="652" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="623.6" x2="1020.5" y2="623.6" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="595.3" x2="1020.5" y2="595.3" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="566.9" x2="1020.5" y2="566.9" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="538.6" x2="1020.5" y2="538.6" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="510.2" x2="1020.5" y2="510.2" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="481.9" x2="1020.5" y2="481.9" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="453.5" x2="1020.5" y2="453.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="425.2" x2="1020.5" y2="425.2" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="396.9" x2="1020.5" y2="396.9" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="368.5" x2="1020.5" y2="368.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="340.2" x2="1020.5" y2="340.2" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="311.8" x2="1020.5" y2="311.8" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="283.5" x2="1020.5" y2="283.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="255.1" x2="1020.5" y2="255.1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="226.8" x2="1020.5" y2="226.8" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="198.4" x2="1020.5" y2="198.4" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="170.1" x2="1020.5" y2="170.1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="141.7" x2="1020.5" y2="141.7" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="113.4" x2="1020.5" y2="113.4" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="85" x2="1020.5" y2="85" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="56.7" x2="1020.5" y2="56.7" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line y1="28.3" x2="1020.5" y2="28.3" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="992.1" x2="992.1" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="963.8" x2="963.8" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="935.4" y1="984.3" x2="935.4" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="935.4" x2="935.4" y2="944.9" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="907.1" y1="984.3" x2="907.1" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="907.1" x2="907.1" y2="944.9" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="878.8" y1="984.3" x2="878.7" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="878.7" x2="878.7" y2="944.9" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="850.5" y1="984.3" x2="850.4" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="850.4" x2="850.4" y2="944.9" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="822.1" y1="984.3" x2="822" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="822" x2="822" y2="944.9" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="793.8" y1="984.3" x2="793.7" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="793.7" x2="793.7" y2="944.9" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="765.4" x2="765.4" y2="935.4" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="737" y1="984.2" x2="737" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="737" x2="737" y2="944.9" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="708.7" y1="984.2" x2="708.7" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="708.7" x2="708.7" y2="944.9" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="680.3" y1="984.2" x2="680.3" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="680.3" x2="680.3" y2="944.9" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="652" y1="984.2" x2="652" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="652" x2="652" y2="944.9" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="623.6" y1="984.2" x2="623.6" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="623.6" x2="623.6" y2="944.9" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="595.3" y1="984.2" x2="595.3" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="595.3" x2="595.3" y2="944.9" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="566.9" x2="566.9" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="538.6" x2="538.6" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="510.2" x2="510.2" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="481.9" x2="481.9" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="453.5" x2="453.5" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="425.2" x2="425.2" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="396.9" x2="396.9" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="368.5" x2="368.5" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="340.2" x2="340.2" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="311.8" x2="311.8" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="283.5" x2="283.5" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="255.1" x2="255.1" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="226.8" x2="226.8" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="198.4" x2="198.4" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="170.1" x2="170.1" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="141.7" x2="141.7" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="113.4" x2="113.4" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="85" x2="85" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="56.7" x2="56.7" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
<line x1="28.3" x2="28.3" y2="1020.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: .7px;"/>
</g>
<rect y="765.4" width="255.1" height="255.1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 1.4px;"/>
<rect x="255.1" y="765.4" width="255.1" height="255.1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 1.4px;"/>
<polyline points="765.4 992.1 765.4 1020.5 510.2 1020.5 510.2 765.4 765.4 765.4 765.4 935.4" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 1.4px;"/>
<polyline points="765.4 944.9 765.4 765.4 1020.5 765.4 1020.5 1020.5 765.4 1020.5 765.4 984.2" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 1.4px;"/>
<rect y="510.2" width="255.1" height="255.1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 1.4px;"/>
<rect x="255.1" y="510.2" width="255.1" height="255.1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 1.4px;"/>
<rect x="510.2" y="510.2" width="255.1" height="255.1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 1.4px;"/>
<rect x="765.4" y="510.2" width="255.1" height="255.1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 1.4px;"/>
<rect y="255.1" width="255.1" height="255.1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 1.4px;"/>
<rect x="255.1" y="255.1" width="255.1" height="255.1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 1.4px;"/>
<rect x="510.2" y="255.1" width="255.1" height="255.1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 1.4px;"/>
<rect x="765.4" y="255.1" width="255.1" height="255.1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 1.4px;"/>
<rect width="255.1" height="255.1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 1.4px;"/>
<rect x="255.1" width="255.1" height="255.1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 1.4px;"/>
<rect x="510.2" width="255.1" height="255.1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 1.4px;"/>
<rect x="765.4" width="255.1" height="255.1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 1.4px;"/>
<g>
<path d="m584.3,964.3c0-1.9.3-3.7.9-5.3.6-1.7,1.4-3.1,2.5-4.3,1.1-1.2,2.4-2.2,4-2.9,1.6-.7,3.3-1,5.3-1s3.8.3,5.3,1c1.6.7,2.9,1.7,4,2.9,1.1,1.2,1.9,2.7,2.5,4.3.6,1.7.9,3.4.9,5.3s-.3,3.6-.9,5.2c-.6,1.6-1.4,3-2.5,4.2-1.1,1.2-2.4,2.1-4,2.8-1.6.7-3.3,1-5.3,1s-3.8-.3-5.3-1c-1.6-.7-2.9-1.6-4-2.8-1.1-1.2-1.9-2.6-2.5-4.2-.6-1.6-.9-3.4-.9-5.2Zm5.7,0c0,1.1.1,2.1.4,3.2s.7,1.9,1.2,2.8c.6.8,1.3,1.5,2.2,2,.9.5,2,.7,3.2.7s2.4-.2,3.2-.7c.9-.5,1.6-1.1,2.2-2,.6-.8,1-1.7,1.2-2.8s.4-2.1.4-3.2-.1-2.2-.4-3.3c-.3-1.1-.7-2-1.2-2.8s-1.3-1.5-2.2-2c-.9-.5-2-.7-3.2-.7s-2.4.2-3.2.7c-.9.5-1.6,1.2-2.2,2-.6.8-1,1.8-1.2,2.8-.3,1.1-.4,2.1-.4,3.3Z" style="fill: #fff;"/>
<path d="m613.4,951.3h13.9c1.2,0,2.2.2,3.1.6.9.4,1.7.9,2.4,1.5.7.6,1.2,1.4,1.5,2.3.3.9.5,1.8.5,2.7,0,1.5-.3,2.8-1,3.9-.6,1.1-1.7,1.9-3.1,2.5h0c.7.3,1.3.6,1.7,1,.5.4.8.9,1.1,1.4.3.6.5,1.1.6,1.8.1.6.2,1.3.3,1.9,0,.4,0,.9,0,1.4,0,.6,0,1.1.1,1.7,0,.6.2,1.1.3,1.6.1.5.3,1,.6,1.3h-5.7c-.2-.4-.3-.9-.4-1.3,0-.5-.2-1-.2-1.5,0-.5-.1-1.1-.1-1.7,0-.6,0-1.1-.2-1.6-.2-1.3-.6-2.3-1.2-3-.6-.6-1.6-.9-3.1-.9h-5.7v10h-5.7v-25.7Zm5.7,11.6h6.2c1.3,0,2.2-.3,2.9-.9.7-.6,1-1.5,1-2.8s-.3-2.2-1-2.7c-.7-.6-1.6-.8-2.9-.8h-6.2v7.2Z" style="fill: #fff;"/>
<path d="m639.4,951.3h5.7v25.7h-5.7v-25.7Z" style="fill: #fff;"/>
<path d="m668.6,974.1c-1,1.3-2.1,2.2-3.3,2.7-1.2.5-2.5.8-3.7.8-2,0-3.8-.3-5.3-1-1.6-.7-2.9-1.6-4-2.8-1.1-1.2-1.9-2.6-2.5-4.2-.6-1.6-.9-3.4-.9-5.2s.3-3.7.9-5.3c.6-1.7,1.4-3.1,2.5-4.3,1.1-1.2,2.4-2.2,4-2.9,1.6-.7,3.3-1,5.3-1s2.6.2,3.8.6c1.2.4,2.3,1,3.3,1.7,1,.8,1.8,1.7,2.5,2.8s1.1,2.4,1.2,3.9h-5.4c-.3-1.4-1-2.5-2-3.2-1-.7-2.1-1.1-3.5-1.1s-2.4.2-3.2.7c-.9.5-1.6,1.2-2.2,2-.6.8-1,1.8-1.2,2.8-.3,1.1-.4,2.1-.4,3.3s.1,2.1.4,3.2.7,1.9,1.2,2.8c.6.8,1.3,1.5,2.2,2,.9.5,2,.7,3.2.7,1.8,0,3.3-.5,4.3-1.4,1-.9,1.6-2.3,1.8-4.1h-5.7v-4.2h10.8v13.9h-3.6l-.6-2.9Z" style="fill: #fff;"/>
<path d="m677.4,951.3h5.7v25.7h-5.7v-25.7Z" style="fill: #fff;"/>
<path d="m688,951.3h5.6l10.7,17.2h0v-17.2h5.3v25.7h-5.7l-10.7-17.2h0v17.2h-5.3v-25.7Z" style="fill: #fff;"/>
<path d="m721.7,951.3h5.8l9.6,25.7h-5.9l-1.9-5.7h-9.6l-2,5.7h-5.7l9.8-25.7Zm-.5,15.8h6.7l-3.2-9.4h0l-3.3,9.4Z" style="fill: #fff;"/>
<path d="m739.3,951.3h5.7v21h12.5v4.8h-18.2v-25.7Z" style="fill: #fff;"/>
<path d="m770.7,951.3h11.6c1.6,0,3,.2,4.1.7s2,1.1,2.8,1.9c.7.8,1.2,1.7,1.5,2.6.3,1,.5,2,.5,3s-.2,2.1-.5,3.1c-.3,1-.8,1.9-1.5,2.6-.7.8-1.6,1.4-2.8,1.9s-2.5.7-4.1.7h-5.9v9.2h-5.7v-25.7Zm5.7,12.1h4.4c.6,0,1.3,0,1.9-.1.6,0,1.1-.3,1.6-.6.5-.3.8-.7,1.1-1.2.3-.5.4-1.2.4-2s-.1-1.5-.4-2c-.3-.5-.6-.9-1.1-1.2-.5-.3-1-.5-1.6-.6-.6,0-1.2-.1-1.9-.1h-4.4v7.7Z" style="fill: #fff;"/>
<path d="m794.7,951.3h13.9c1.2,0,2.2.2,3.1.6.9.4,1.7.9,2.4,1.5.7.6,1.2,1.4,1.5,2.3.3.9.5,1.8.5,2.7,0,1.5-.3,2.8-1,3.9-.6,1.1-1.7,1.9-3.1,2.5h0c.7.3,1.3.6,1.7,1,.5.4.8.9,1.1,1.4.3.6.5,1.1.6,1.8.1.6.2,1.3.3,1.9,0,.4,0,.9,0,1.4,0,.6,0,1.1.1,1.7,0,.6.2,1.1.3,1.6.1.5.3,1,.6,1.3h-5.7c-.2-.4-.3-.9-.4-1.3s-.2-1-.2-1.5c0-.5-.1-1.1-.1-1.7,0-.6,0-1.1-.2-1.6-.2-1.3-.6-2.3-1.2-3-.6-.6-1.6-.9-3.1-.9h-5.7v10h-5.7v-25.7Zm5.7,11.6h6.2c1.3,0,2.2-.3,2.9-.9.7-.6,1-1.5,1-2.8s-.3-2.2-1-2.7c-.7-.6-1.6-.8-2.9-.8h-6.2v7.2Z" style="fill: #fff;"/>
<path d="m842.5,967.3c0,3.5-1,6.1-2.9,7.8-1.9,1.7-4.6,2.6-8.1,2.6s-6.2-.8-8.1-2.5c-1.9-1.7-2.9-4.3-2.9-7.8v-16h5.7v16c0,.7,0,1.4.2,2.1s.4,1.3.8,1.8c.4.5.9.9,1.6,1.3.7.3,1.6.5,2.8.5,2,0,3.4-.5,4.2-1.4.8-.9,1.2-2.3,1.2-4.2v-16h5.7v16Z" style="fill: #fff;"/>
<path d="m851.2,968.5c0,.9.2,1.6.5,2.2.3.6.7,1.1,1.2,1.5.5.4,1.1.6,1.8.8.7.2,1.4.3,2.2.3s1,0,1.6-.1c.6,0,1.1-.2,1.6-.5s.9-.6,1.3-1c.3-.4.5-1,.5-1.6s-.2-1.3-.7-1.7c-.4-.4-1-.8-1.7-1.1-.7-.3-1.5-.6-2.4-.8-.9-.2-1.8-.4-2.8-.7-1-.2-1.9-.5-2.8-.9-.9-.3-1.7-.8-2.4-1.3-.7-.6-1.3-1.2-1.7-2.1-.4-.8-.7-1.8-.7-3s.3-2.5.8-3.4c.6-1,1.3-1.8,2.2-2.4.9-.6,1.9-1.1,3.1-1.4,1.2-.3,2.3-.5,3.5-.5s2.6.2,3.9.5c1.2.3,2.3.8,3.3,1.5,1,.7,1.7,1.5,2.3,2.6.6,1,.8,2.3.8,3.8h-5.5c0-.8-.2-1.4-.5-1.9s-.6-.9-1.1-1.2c-.5-.3-1-.5-1.6-.6-.6-.1-1.2-.2-1.9-.2s-.9,0-1.4.1c-.5,0-.9.3-1.2.5-.4.2-.7.5-.9.9-.2.4-.4.8-.4,1.4s0,.9.3,1.2c.2.3.6.6,1.1.8.6.3,1.3.5,2.3.8,1,.3,2.3.6,3.9,1,.3,0,.7.2,1.2.3.5.1,1,.3,1.6.5.6.2,1.1.5,1.7.9.6.4,1.1.8,1.5,1.3.5.5.8,1.2,1.1,1.9.3.7.4,1.6.4,2.5s-.2,2.3-.7,3.3c-.5,1-1.1,1.9-2,2.6-.9.7-2,1.3-3.3,1.7-1.3.4-2.9.6-4.6.6s-2.8-.2-4.1-.5c-1.3-.4-2.5-.9-3.5-1.7-1-.7-1.8-1.7-2.4-2.8-.6-1.2-.9-2.5-.9-4.1h5.5Z" style="fill: #fff;"/>
<path d="m877.7,951.3h5.8l9.6,25.7h-5.9l-1.9-5.7h-9.6l-2,5.7h-5.7l9.8-25.7Zm-.5,15.8h6.7l-3.2-9.4h0l-3.3,9.4Z" style="fill: #fff;"/>
<path d="m911.7,963.6l-8.3-12.2h6.6l5,8.2,5.2-8.2h6.2l-8.2,12.3,9,13.4h-6.7l-5.6-8.9-5.7,8.9h-6.4l9-13.5Z" style="fill: #fff;"/>
<path d="m929.4,951.3h5.7v21h12.5v4.8h-18.2v-25.7Z" style="fill: #fff;"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

View file

@ -291,22 +291,24 @@ Surfaces expand_bridges_detect_orientations(
uint32_t src_id = it->src_id; uint32_t src_id = it->src_id;
for (++ it; it != bridge_expansions.end() && it->src_id == src_id; ++ it) ; for (++ it; it != bridge_expansions.end() && it->src_id == src_id; ++ it) ;
} }
for (uint32_t bridge_id = 0; bridge_id < uint32_t(bridges.size()); ++ bridge_id) { for (uint32_t bridge_id = 0; bridge_id < uint32_t(bridges.size()); ++ bridge_id)
acc.clear(); if (group_id(bridge_id) == bridge_id) {
for (uint32_t bridge_id2 = bridge_id; bridge_id2 < uint32_t(bridges.size()); ++ bridge_id2) // Head of the group.
if (group_id(bridge_id) == bridge_id) { acc.clear();
append(acc, to_polygons(std::move(bridges[bridge_id2].expolygon))); for (uint32_t bridge_id2 = bridge_id; bridge_id2 < uint32_t(bridges.size()); ++ bridge_id2)
auto it_bridge_expansion = bridges[bridge_id2].bridge_expansion_begin; if (group_id(bridge_id2) == bridge_id) {
assert(it_bridge_expansion == bridge_expansions.end() || it_bridge_expansion->src_id == bridge_id2); append(acc, to_polygons(std::move(bridges[bridge_id2].expolygon)));
for (; it_bridge_expansion != bridge_expansions.end() && it_bridge_expansion->src_id == bridge_id2; ++ it_bridge_expansion) auto it_bridge_expansion = bridges[bridge_id2].bridge_expansion_begin;
append(acc, to_polygons(std::move(it_bridge_expansion->expolygon))); assert(it_bridge_expansion == bridge_expansions.end() || it_bridge_expansion->src_id == bridge_id2);
} for (; it_bridge_expansion != bridge_expansions.end() && it_bridge_expansion->src_id == bridge_id2; ++ it_bridge_expansion)
//FIXME try to be smart and pick the best bridging angle for all? append(acc, to_polygons(std::move(it_bridge_expansion->expolygon)));
templ.bridge_angle = bridges[bridge_id].angle; }
// without safety offset, artifacts are generated (GH #2494) //FIXME try to be smart and pick the best bridging angle for all?
for (ExPolygon &ex : union_safety_offset_ex(acc)) templ.bridge_angle = bridges[bridge_id].angle;
out.emplace_back(templ, std::move(ex)); // without safety offset, artifacts are generated (GH #2494)
} for (ExPolygon &ex : union_safety_offset_ex(acc))
out.emplace_back(templ, std::move(ex));
}
} }
// Clip the shells by the expanded bridges. // Clip the shells by the expanded bridges.

View file

@ -14,11 +14,13 @@
#include "GCode/WipeTower.hpp" #include "GCode/WipeTower.hpp"
#include "Utils.hpp" #include "Utils.hpp"
#include "BuildVolume.hpp" #include "BuildVolume.hpp"
#include "format.hpp"
#include <float.h> #include <float.h>
#include <algorithm> #include <algorithm>
#include <limits> #include <limits>
#include <string>
#include <unordered_set> #include <unordered_set>
#include <boost/filesystem/path.hpp> #include <boost/filesystem/path.hpp>
#include <boost/format.hpp> #include <boost/format.hpp>
@ -1163,23 +1165,68 @@ void Print::alert_when_supports_needed()
auto issue_to_alert_message = [](SupportSpotsGenerator::SupportPointCause cause, bool critical) { auto issue_to_alert_message = [](SupportSpotsGenerator::SupportPointCause cause, bool critical) {
std::string message; std::string message;
switch (cause) { switch (cause) {
case SupportSpotsGenerator::SupportPointCause::LongBridge: message = L("long bridging extrusions"); break; //TRN Alert when support is needed. Describes that the model has long bridging extrusions which may print badly
case SupportSpotsGenerator::SupportPointCause::FloatingBridgeAnchor: message = L("floating bridge anchors"); break; case SupportSpotsGenerator::SupportPointCause::LongBridge: message = L("Long bridging extrusions"); break;
//TRN Alert when support is needed. Describes bridge anchors/turns in the air, which will definitely print badly
case SupportSpotsGenerator::SupportPointCause::FloatingBridgeAnchor: message = L("Floating bridge anchors"); break;
case SupportSpotsGenerator::SupportPointCause::FloatingExtrusion: case SupportSpotsGenerator::SupportPointCause::FloatingExtrusion:
if (critical) { if (critical) {
message = L("collapsing overhang"); //TRN Alert when support is needed. Describes that the print has large overhang area which will print badly or not print at all.
message = L("Collapsing overhang");
} else { } else {
message = L("loose extrusions"); //TRN Alert when support is needed. Describes extrusions that are not supported enough and come out curled or loose.
message = L("Loose extrusions");
} }
break; break;
case SupportSpotsGenerator::SupportPointCause::SeparationFromBed: message = L("low bed adhesion"); break; //TRN Alert when support is needed. Describes that the print has low bed adhesion and may became loose.
case SupportSpotsGenerator::SupportPointCause::UnstableFloatingPart: message = L("floating object part"); break; case SupportSpotsGenerator::SupportPointCause::SeparationFromBed: message = L("Low bed adhesion"); break;
case SupportSpotsGenerator::SupportPointCause::WeakObjectPart: message = L("thin fragile section"); break; //TRN Alert when support is needed. Describes that the object has part that is not connected to the bed and will not print at all without supports.
case SupportSpotsGenerator::SupportPointCause::UnstableFloatingPart: message = L("Floating object part"); break;
//TRN Alert when support is needed. Describes that the object has thin part that may brake during printing
case SupportSpotsGenerator::SupportPointCause::WeakObjectPart: message = L("Thin fragile part"); break;
} }
return message; return message;
}; };
// TRN this translation rule is used to translate lists of uknown size on single line. The first argument is element of the list,
// the second argument may be element or rest of the list. For most languages, this does not need translation, but some use different
// separator than comma and some use blank space in front of the separator.
auto single_line_list_rule = L("%1%, %2%");
auto multiline_list_rule = "%1%\n%2%";
auto elements_to_translated_list = [](const std::vector<std::string> &translated_elements, std::string expansion_rule) {
if (expansion_rule.find("%1%") == expansion_rule.npos || expansion_rule.find("%2%") == expansion_rule.npos) {
BOOST_LOG_TRIVIAL(error) << "INCORRECT EXPANSION RULE FOR LIST TRANSLATION: " << expansion_rule
<< " - IT SHOULD CONTAIN %1% and %2%!";
expansion_rule = "%1% %2%";
}
if (translated_elements.size() == 0) {
return std::string{};
}
if (translated_elements.size() == 1) {
return translated_elements.front();
}
std::string translated_list = expansion_rule;
for (int i = 0; i < translated_elements.size() - 1; i++) {
auto first_elem = translated_list.find("%1%");
assert(first_elem != translated_list.npos);
translated_list.replace(first_elem, 3, translated_elements[i]);
// expand the translated list by another application of the same rule
auto second_elem = translated_list.find("%2%");
assert(second_elem != translated_list.npos);
if (i < translated_elements.size() - 2) {
translated_list.replace(second_elem, 3, expansion_rule);
} else {
translated_list.replace(second_elem, 3, translated_elements[i + 1]);
}
}
return translated_list;
};
// vector of pairs of object and its issues, where each issue is a pair of type and critical flag // vector of pairs of object and its issues, where each issue is a pair of type and critical flag
std::vector<std::pair<const PrintObject *, std::vector<std::pair<SupportSpotsGenerator::SupportPointCause, bool>>>> objects_isssues; std::vector<std::pair<const PrintObject *, std::vector<std::pair<SupportSpotsGenerator::SupportPointCause, bool>>>> objects_isssues;
@ -1199,45 +1246,58 @@ void Print::alert_when_supports_needed()
} }
} }
bool recommend_brim = false; bool recommend_brim = false;
std::map<std::pair<SupportSpotsGenerator::SupportPointCause, bool>, std::vector<const PrintObject *>> po_by_support_issues; std::map<std::pair<SupportSpotsGenerator::SupportPointCause, bool>, std::vector<const PrintObject *>> po_by_support_issues;
for (const auto &obj : objects_isssues) { for (const auto &obj : objects_isssues) {
for (const auto &issue : obj.second) { for (const auto &issue : obj.second) {
po_by_support_issues[issue].push_back(obj.first); po_by_support_issues[issue].push_back(obj.first);
if (issue.first == SupportSpotsGenerator::SupportPointCause::SeparationFromBed && !obj.first->has_brim()){ if (issue.first == SupportSpotsGenerator::SupportPointCause::SeparationFromBed && !obj.first->has_brim()) {
recommend_brim = true; recommend_brim = true;
} }
} }
} }
auto message = L("Detected print stability issues") + ": \n"; std::vector<std::pair<std::string, std::vector<std::string>>> message_elements;
if (objects_isssues.size() > po_by_support_issues.size()) { if (objects_isssues.size() > po_by_support_issues.size()) {
// there are more objects than causes, group by issues // there are more objects than causes, group by issues
for (const auto &issue : po_by_support_issues) { for (const auto &issue : po_by_support_issues) {
message += "\n" + issue_to_alert_message(issue.first.first, issue.first.second) + " >> "; auto &pair = message_elements.emplace_back(issue_to_alert_message(issue.first.first, issue.first.second),
std::vector<std::string>{});
for (const auto &obj : issue.second) { for (const auto &obj : issue.second) {
message += obj->m_model_object->name + ", "; pair.second.push_back(obj->m_model_object->name);
} }
message.pop_back();
message.pop_back(); // remove ,
message += ".\n";
} }
} else { } else {
// more causes than objects, group by objects // more causes than objects, group by objects
for (const auto &obj : objects_isssues) { for (const auto &obj : objects_isssues) {
message += "\n" + L("Object") + " " + obj.first->model_object()->name + " << "; auto &pair = message_elements.emplace_back(obj.first->model_object()->name, std::vector<std::string>{});
for (const auto &issue : obj.second) { for (const auto &issue : obj.second) {
message += issue_to_alert_message(issue.first, issue.second) + ", "; pair.second.push_back(issue_to_alert_message(issue.first, issue.second));
} }
message.pop_back();
message.pop_back(); // remove ,
message += ".\n";
} }
} }
bool brim_or_supp = recommend_brim && po_by_support_issues.size() < 2; // first, gather sublements into single line list, store in first subelement
auto brim_part = " " + (brim_or_supp ? L("or") : L("and")) + " " + L("brim"); for (auto &pair : message_elements) {
message += "\n" + L("Consider enabling supports") + (recommend_brim ? brim_part : "") + "."; pair.second.front() = elements_to_translated_list(pair.second, single_line_list_rule);
}
// then gather elements to create multiline list
std::vector<std::string> lines = {};
for (auto &pair : message_elements) {
lines.push_back(""); // empty line for readability
lines.push_back(pair.first);
lines.push_back(pair.second.front());
}
lines.push_back("");
lines.push_back(L("Consider enabling supports."));
if (recommend_brim) {
lines.push_back(L("Also consider enabling brim."));
}
// TRN Alert message for detected print issues. first argument is a list of detected issues.
auto message = Slic3r::format(L("Detected print stability issues:\n%1%"), elements_to_translated_list(lines, multiline_list_rule));
if (objects_isssues.size() > 0) { if (objects_isssues.size() > 0) {
this->active_step_add_warning(PrintStateBase::WarningLevel::NON_CRITICAL, message); this->active_step_add_warning(PrintStateBase::WarningLevel::NON_CRITICAL, message);

View file

@ -1711,7 +1711,7 @@ void PrintObject::bridge_over_infill()
// cluster layers by depth needed for thick bridges. Each cluster is to be processed by single thread sequentially, so that bridges cannot appear one on another // cluster layers by depth needed for thick bridges. Each cluster is to be processed by single thread sequentially, so that bridges cannot appear one on another
std::vector<std::vector<size_t>> clustered_layers_for_threads; std::vector<std::vector<size_t>> clustered_layers_for_threads;
float target_flow_height_factor = 0.5; float target_flow_height_factor = 0.75;
{ {
std::vector<size_t> layers_with_candidates; std::vector<size_t> layers_with_candidates;
std::map<size_t, Polygons> layer_area_covered_by_candidates; std::map<size_t, Polygons> layer_area_covered_by_candidates;
@ -1789,7 +1789,7 @@ void PrintObject::bridge_over_infill()
} }
lower_layers_sparse_infill = union_(lower_layers_sparse_infill); lower_layers_sparse_infill = union_(lower_layers_sparse_infill);
} }
lower_layers_sparse_infill = closing(lower_layers_sparse_infill, SCALED_EPSILON);
return diff(lower_layers_sparse_infill, not_sparse_infill); return diff(lower_layers_sparse_infill, not_sparse_infill);
}; };
@ -2032,7 +2032,8 @@ void PrintObject::bridge_over_infill()
}; };
tbb::parallel_for(tbb::blocked_range<size_t>(0, clustered_layers_for_threads.size()), [po = static_cast<const PrintObject *>(this), tbb::parallel_for(tbb::blocked_range<size_t>(0, clustered_layers_for_threads.size()), [po = static_cast<const PrintObject *>(this),
&surfaces_by_layer, &clustered_layers_for_threads, target_flow_height_factor, &surfaces_by_layer,
&clustered_layers_for_threads,
gather_areas_w_depth, &infill_lines, gather_areas_w_depth, &infill_lines,
determine_bridging_angle, determine_bridging_angle,
construct_anchored_polygon]( construct_anchored_polygon](
@ -2058,12 +2059,12 @@ void PrintObject::bridge_over_infill()
}); });
// Gather deep infill areas, where thick bridges fit // Gather deep infill areas, where thick bridges fit
coordf_t thick_bridges_depth = surfaces_by_layer[lidx].front().region->flow(frSolidInfill, true).height(); coordf_t target_flow_height = surfaces_by_layer[lidx].front().region->flow(frSolidInfill, true).height() * target_flow_height_factor;
Polygons deep_infill_area = gather_areas_w_depth(po, lidx, thick_bridges_depth * 0.5); Polygons deep_infill_area = gather_areas_w_depth(po, lidx, target_flow_height);
// Now also remove area that has been already filled on lower layers by bridging expansion - For this // Now also remove area that has been already filled on lower layers by bridging expansion - For this
// reason we did the clustering of layers per thread. // reason we did the clustering of layers per thread.
double bottom_z = layer->print_z - thick_bridges_depth - EPSILON; double bottom_z = layer->print_z - target_flow_height - EPSILON;
if (job_idx > 0) { if (job_idx > 0) {
for (int lower_job_idx = job_idx - 1; lower_job_idx >= 0; lower_job_idx--) { for (int lower_job_idx = job_idx - 1; lower_job_idx >= 0; lower_job_idx--) {
size_t lower_layer_idx = clustered_layers_for_threads[cluster_idx][lower_job_idx]; size_t lower_layer_idx = clustered_layers_for_threads[cluster_idx][lower_job_idx];
@ -2080,10 +2081,14 @@ void PrintObject::bridge_over_infill()
// Now gather expansion polygons - internal infill on current layer, from which we can cut off anchors // Now gather expansion polygons - internal infill on current layer, from which we can cut off anchors
Polygons expansion_area; Polygons expansion_area;
Polygons total_fill_area;
for (const LayerRegion *region : layer->regions()) { for (const LayerRegion *region : layer->regions()) {
auto polys = to_polygons(region->fill_surfaces().filter_by_type(stInternal)); Polygons internal_polys = to_polygons(region->fill_surfaces().filter_by_type(stInternal));
expansion_area.insert(expansion_area.end(), polys.begin(), polys.end()); expansion_area.insert(expansion_area.end(), internal_polys.begin(), internal_polys.end());
Polygons fill_polys = to_polygons(region->fill_expolygons());
total_fill_area.insert(total_fill_area.end(), fill_polys.begin(), fill_polys.end());
} }
total_fill_area = closing(total_fill_area, SCALED_EPSILON);
expansion_area = closing(expansion_area, SCALED_EPSILON); expansion_area = closing(expansion_area, SCALED_EPSILON);
expansion_area = intersection(expansion_area, deep_infill_area); expansion_area = intersection(expansion_area, deep_infill_area);
Polylines anchors = intersection_pl(infill_lines[lidx - 1], expansion_area); Polylines anchors = intersection_pl(infill_lines[lidx - 1], expansion_area);
@ -2098,10 +2103,16 @@ void PrintObject::bridge_over_infill()
continue; continue;
area_to_be_bridge = expand(area_to_be_bridge, flow.scaled_spacing()); area_to_be_bridge = expand(area_to_be_bridge, flow.scaled_spacing());
Polygons boundary_area = union_(expansion_area, area_to_be_bridge);
Polylines boundary_plines = to_polylines(boundary_area); Polylines boundary_plines = to_polylines(expand(total_fill_area, 1.3 * flow.scaled_spacing()));
{
double bridging_angle = 0; Polylines expansion_plines = to_polylines(expansion_area);
boundary_plines.insert(boundary_plines.end(), expansion_plines.begin(), expansion_plines.end());
Polylines expanded_expansion_plines = to_polylines(expand(expansion_area, 1.3 * flow.scaled_spacing()));
boundary_plines.insert(boundary_plines.end(), expanded_expansion_plines.begin(), expanded_expansion_plines.end());
}
double bridging_angle = 0;
if (!anchors.empty()) { if (!anchors.empty()) {
bridging_angle = determine_bridging_angle(area_to_be_bridge, to_lines(anchors), bridging_angle = determine_bridging_angle(area_to_be_bridge, to_lines(anchors),
candidate.region->region().config().fill_pattern.value); candidate.region->region().config().fill_pattern.value);
@ -2133,8 +2144,8 @@ void PrintObject::bridge_over_infill()
} }
} }
bridging_area = intersection(bridging_area, boundary_area);
bridging_area = opening(bridging_area, flow.scaled_spacing()); bridging_area = opening(bridging_area, flow.scaled_spacing());
bridging_area = intersection(bridging_area, total_fill_area);
expansion_area = diff(expansion_area, bridging_area); expansion_area = diff(expansion_area, bridging_area);
#ifdef DEBUG_BRIDGE_OVER_INFILL #ifdef DEBUG_BRIDGE_OVER_INFILL