mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-08-07 12:08:59 +08:00
Merge branch 'master' of https://github.com/Prusa-Development/PrusaSlicerPrivate into et_transformations
This commit is contained in:
commit
1a505f1af4
@ -1,4 +1,8 @@
|
|||||||
|
min_slic3r_version = 2.6.0-alpha2
|
||||||
|
0.2.1 Added Eolas Prints filaments.
|
||||||
|
0.2.0 Added Photon Mono X printer.
|
||||||
min_slic3r_version = 2.4.1-rc1
|
min_slic3r_version = 2.4.1-rc1
|
||||||
|
0.1.2 Added VOXELPLA filament profile.
|
||||||
0.1.1 Fixed before layer change g-code for Mega Zero.
|
0.1.1 Fixed before layer change g-code for Mega Zero.
|
||||||
0.1.0 Added Anycubic 4Max Pro 2.0
|
0.1.0 Added Anycubic 4Max Pro 2.0
|
||||||
min_slic3r_version = 2.3.2-alpha0
|
min_slic3r_version = 2.3.2-alpha0
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
name = Anycubic
|
name = Anycubic
|
||||||
# Configuration version of this file. Config file will only be installed, if the config_version differs.
|
# Configuration version of this file. Config file will only be installed, if the config_version differs.
|
||||||
# This means, the server may force the PrusaSlicer configuration to be downgraded.
|
# This means, the server may force the PrusaSlicer configuration to be downgraded.
|
||||||
config_version = 0.1.1
|
config_version = 0.2.1
|
||||||
# Where to get the updates from?
|
# Where to get the updates from?
|
||||||
config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/Anycubic/
|
config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/Anycubic/
|
||||||
# changelog_url = https://files.prusa3d.com/?latest=slicer-profiles&lng=%1%
|
# changelog_url = https://files.prusa3d.com/?latest=slicer-profiles&lng=%1%
|
||||||
@ -738,6 +738,17 @@ first_layer_temperature = 245
|
|||||||
filament_cost = 24.99
|
filament_cost = 24.99
|
||||||
filament_density = 1.27
|
filament_density = 1.27
|
||||||
|
|
||||||
|
[filament:VOXELPLA PLUS @MEGA0]
|
||||||
|
inherits = *PLA_mega0*
|
||||||
|
filament_vendor = VOXELPLA
|
||||||
|
temperature = 200
|
||||||
|
bed_temperature = 55
|
||||||
|
first_layer_temperature = 200
|
||||||
|
first_layer_bed_temperature = 55
|
||||||
|
filament_cost = 16.99
|
||||||
|
filament_density = 1.24
|
||||||
|
filament_colour = #FF4640
|
||||||
|
|
||||||
# Common printer preset
|
# Common printer preset
|
||||||
[printer:*common_mega0*]
|
[printer:*common_mega0*]
|
||||||
printer_technology = FFF
|
printer_technology = FFF
|
||||||
@ -1050,6 +1061,68 @@ max_fan_speed = 50
|
|||||||
min_fan_speed = 30
|
min_fan_speed = 30
|
||||||
temperature = 240
|
temperature = 240
|
||||||
|
|
||||||
|
[filament:Eolas Prints PLA @MEGA]
|
||||||
|
inherits = *PLA_mega*
|
||||||
|
filament_vendor = Eolas Prints
|
||||||
|
filament_cost = 23.50
|
||||||
|
filament_density = 1.24
|
||||||
|
filament_spool_weight = 0
|
||||||
|
filament_colour = #4D9398
|
||||||
|
first_layer_bed_temperature = 65
|
||||||
|
first_layer_temperature = 212
|
||||||
|
temperature = 208
|
||||||
|
bed_temperature = 60
|
||||||
|
|
||||||
|
[filament:Eolas Prints PLA Matte @MEGA]
|
||||||
|
inherits = Eolas Prints PLA @MEGA
|
||||||
|
filament_cost = 25.50
|
||||||
|
filament_max_volumetric_speed = 14
|
||||||
|
temperature = 212
|
||||||
|
|
||||||
|
[filament:Eolas Prints INGEO 850 @MEGA]
|
||||||
|
inherits = Eolas Prints PLA @MEGA
|
||||||
|
filament_cost = 25.90
|
||||||
|
temperature = 210
|
||||||
|
|
||||||
|
[filament:Eolas Prints INGEO 870 @MEGA]
|
||||||
|
inherits = Eolas Prints PLA @MEGA
|
||||||
|
filament_cost = 25.90
|
||||||
|
temperature = 215
|
||||||
|
first_layer_bed_temperature = 68
|
||||||
|
first_layer_temperature = 220
|
||||||
|
bed_temperature = 65
|
||||||
|
|
||||||
|
[filament:Eolas Prints PETG @MEGA]
|
||||||
|
inherits = *PETG_mega*
|
||||||
|
filament_vendor = Eolas Prints
|
||||||
|
filament_cost = 29.90
|
||||||
|
filament_density = 1.27
|
||||||
|
filament_spool_weight = 0
|
||||||
|
filament_colour = #4D9398
|
||||||
|
temperature = 240
|
||||||
|
first_layer_bed_temperature = 85
|
||||||
|
first_layer_temperature = 235
|
||||||
|
bed_temperature = 90
|
||||||
|
|
||||||
|
[filament:Eolas Prints PETG - UV Resistant @MEGA]
|
||||||
|
inherits = Eolas Prints PETG @MEGA
|
||||||
|
filament_cost = 35.90
|
||||||
|
temperature = 242
|
||||||
|
first_layer_temperature = 237
|
||||||
|
|
||||||
|
[filament:Eolas Prints TPU 93A @MEGA]
|
||||||
|
inherits = *FLEX_mega*
|
||||||
|
filament_vendor = Eolas Prints
|
||||||
|
filament_cost = 34.99
|
||||||
|
filament_density = 1.21
|
||||||
|
filament_colour = #4D9398
|
||||||
|
filament_max_volumetric_speed = 1.2
|
||||||
|
temperature = 235
|
||||||
|
first_layer_bed_temperature = 30
|
||||||
|
bed_temperature = 30
|
||||||
|
filament_retract_length = 0
|
||||||
|
extrusion_multiplier = 1.16
|
||||||
|
|
||||||
[filament:Generic PETG @MEGA]
|
[filament:Generic PETG @MEGA]
|
||||||
inherits = *PETG_mega*
|
inherits = *PETG_mega*
|
||||||
|
|
||||||
@ -1177,6 +1250,17 @@ inherits = *PLA_mega*
|
|||||||
filament_vendor = Verbatim
|
filament_vendor = Verbatim
|
||||||
filament_cost = 23.88
|
filament_cost = 23.88
|
||||||
|
|
||||||
|
[filament:VOXELPLA PLUS @MEGA]
|
||||||
|
inherits = *PLA_mega*
|
||||||
|
filament_vendor = VOXELPLA
|
||||||
|
temperature = 200
|
||||||
|
bed_temperature = 55
|
||||||
|
first_layer_temperature = 200
|
||||||
|
first_layer_bed_temperature = 55
|
||||||
|
filament_cost = 16.99
|
||||||
|
filament_density = 1.24
|
||||||
|
filament_colour = #FF4640
|
||||||
|
|
||||||
[printer:*common_mega*]
|
[printer:*common_mega*]
|
||||||
printer_technology = FFF
|
printer_technology = FFF
|
||||||
bed_shape = 0x0,210x0,210x210,0x210
|
bed_shape = 0x0,210x0,210x210,0x210
|
||||||
@ -2240,7 +2324,7 @@ variable_layer_height = 1
|
|||||||
wipe = 0
|
wipe = 0
|
||||||
z_offset = 0
|
z_offset = 0
|
||||||
|
|
||||||
########## SLA printer presets ##########
|
## SLA printers
|
||||||
|
|
||||||
[sla_print:*common print ANYCUBIC SLA*]
|
[sla_print:*common print ANYCUBIC SLA*]
|
||||||
compatible_printers_condition = printer_notes=~/.*PHOTONMONOX.*/
|
compatible_printers_condition = printer_notes=~/.*PHOTONMONOX.*/
|
||||||
@ -2275,7 +2359,7 @@ support_small_pillar_diameter_percent = 60%
|
|||||||
inherits = *common print ANYCUBIC SLA*
|
inherits = *common print ANYCUBIC SLA*
|
||||||
layer_height = 0.05
|
layer_height = 0.05
|
||||||
|
|
||||||
########### Materials
|
## SLA materials
|
||||||
|
|
||||||
[sla_material:*common ANYCUBIC SLA*]
|
[sla_material:*common ANYCUBIC SLA*]
|
||||||
compatible_printers_condition = printer_notes=~/.*PHOTONMONOX.*/
|
compatible_printers_condition = printer_notes=~/.*PHOTONMONOX.*/
|
||||||
@ -2298,7 +2382,7 @@ material_vendor = Generic
|
|||||||
material_colour = #6080EC
|
material_colour = #6080EC
|
||||||
compatible_printers_condition = printer_notes=~/.*PHOTONMONOX.*/
|
compatible_printers_condition = printer_notes=~/.*PHOTONMONOX.*/
|
||||||
|
|
||||||
########## Printers
|
## Printers
|
||||||
|
|
||||||
[printer:Anycubic Photon Mono X]
|
[printer:Anycubic Photon Mono X]
|
||||||
printer_technology = SLA
|
printer_technology = SLA
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
min_slic3r_version = 2.4.1-alpha0
|
min_slic3r_version = 2.4.1-alpha0
|
||||||
|
0.0.7 Added Eolas Prints filaments.
|
||||||
|
0.0.6 Reduced retract_length for direct extruders
|
||||||
0.0.5 Added Artillery Hornet
|
0.0.5 Added Artillery Hornet
|
||||||
min_slic3r_version = 2.3.1-beta
|
min_slic3r_version = 2.3.1-beta
|
||||||
0.0.4 Fixed first layer height in 0.28mm profile.
|
0.0.4 Fixed first layer height in 0.28mm profile.
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
name = Artillery
|
name = Artillery
|
||||||
# Configuration version of this file. Config file will only be installed, if the config_version differs.
|
# Configuration version of this file. Config file will only be installed, if the config_version differs.
|
||||||
# This means, the server may force the PrusaSlicer configuration to be downgraded.
|
# This means, the server may force the PrusaSlicer configuration to be downgraded.
|
||||||
config_version = 0.0.5
|
config_version = 0.0.7
|
||||||
# Where to get the updates from?
|
# Where to get the updates from?
|
||||||
config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/Artillery/
|
config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/Artillery/
|
||||||
# changelog_url = https://files.prusa3d.com/?latest=slicer-profiles&lng=%1%
|
# changelog_url = https://files.prusa3d.com/?latest=slicer-profiles&lng=%1%
|
||||||
@ -89,7 +89,7 @@ remaining_times = 0
|
|||||||
retract_before_travel = 1
|
retract_before_travel = 1
|
||||||
retract_before_wipe = 0%
|
retract_before_wipe = 0%
|
||||||
retract_layer_change = 1
|
retract_layer_change = 1
|
||||||
retract_length = 1.9
|
retract_length = 0.8
|
||||||
retract_length_toolchange = 4
|
retract_length_toolchange = 4
|
||||||
retract_lift = 0.6
|
retract_lift = 0.6
|
||||||
retract_lift_above = 0
|
retract_lift_above = 0
|
||||||
@ -513,3 +513,64 @@ filament_vendor = Generic
|
|||||||
[filament:Generic TPU @Artillery]
|
[filament:Generic TPU @Artillery]
|
||||||
inherits = *TPU*
|
inherits = *TPU*
|
||||||
filament_vendor = Generic
|
filament_vendor = Generic
|
||||||
|
|
||||||
|
[filament:Eolas Prints PLA @Artillery]
|
||||||
|
inherits = *PLA*
|
||||||
|
filament_vendor = Eolas Prints
|
||||||
|
filament_cost = 23.50
|
||||||
|
filament_density = 1.24
|
||||||
|
filament_spool_weight = 0
|
||||||
|
filament_colour = #4D9398
|
||||||
|
first_layer_bed_temperature = 65
|
||||||
|
first_layer_temperature = 208
|
||||||
|
temperature = 202
|
||||||
|
|
||||||
|
[filament:Eolas Prints PLA Matte @Artillery]
|
||||||
|
inherits = Eolas Prints PLA @Artillery
|
||||||
|
filament_cost = 25.50
|
||||||
|
filament_max_volumetric_speed = 14
|
||||||
|
temperature = 210
|
||||||
|
|
||||||
|
[filament:Eolas Prints INGEO 850 @Artillery]
|
||||||
|
inherits = Eolas Prints PLA @Artillery
|
||||||
|
filament_cost = 25.90
|
||||||
|
temperature = 210
|
||||||
|
|
||||||
|
[filament:Eolas Prints INGEO 870 @Artillery]
|
||||||
|
inherits = Eolas Prints PLA @Artillery
|
||||||
|
filament_cost = 25.90
|
||||||
|
temperature = 215
|
||||||
|
first_layer_bed_temperature = 68
|
||||||
|
first_layer_temperature = 220
|
||||||
|
bed_temperature = 65
|
||||||
|
|
||||||
|
[filament:Eolas Prints PETG @Artillery]
|
||||||
|
inherits = *PET*
|
||||||
|
filament_vendor = Eolas Prints
|
||||||
|
filament_cost = 29.90
|
||||||
|
filament_density = 1.27
|
||||||
|
filament_spool_weight = 0
|
||||||
|
filament_colour = #4D9398
|
||||||
|
temperature = 240
|
||||||
|
first_layer_bed_temperature = 85
|
||||||
|
first_layer_temperature = 235
|
||||||
|
bed_temperature = 90
|
||||||
|
|
||||||
|
[filament:Eolas Prints PETG - UV Resistant @Artillery]
|
||||||
|
inherits = Eolas Prints PETG @Artillery
|
||||||
|
filament_cost = 35.90
|
||||||
|
temperature = 242
|
||||||
|
first_layer_temperature = 237
|
||||||
|
|
||||||
|
[filament:Eolas Prints TPU 93A @Artillery]
|
||||||
|
inherits = *TPU*
|
||||||
|
filament_vendor = Eolas Prints
|
||||||
|
filament_cost = 34.99
|
||||||
|
filament_density = 1.21
|
||||||
|
filament_colour = #4D9398
|
||||||
|
filament_max_volumetric_speed = 1.2
|
||||||
|
temperature = 230
|
||||||
|
first_layer_bed_temperature = 30
|
||||||
|
bed_temperature = 30
|
||||||
|
filament_retract_length = 0
|
||||||
|
extrusion_multiplier = 1.16
|
@ -1,4 +1,5 @@
|
|||||||
min_slic3r_version = 2.6.0-alpha0
|
min_slic3r_version = 2.6.0-alpha0
|
||||||
|
0.2.7 Added Eolas Prints filaments.
|
||||||
0.2.6 Add Ender-5 Pro, Ender-5 S1, Sermoon-V1, Sermoon-V1 Pro. Unlock HIGHSPEED/SUPERSPEED presets for Ender-5 S1/Ender-6/Ender-7.
|
0.2.6 Add Ender-5 Pro, Ender-5 S1, Sermoon-V1, Sermoon-V1 Pro. Unlock HIGHSPEED/SUPERSPEED presets for Ender-5 S1/Ender-6/Ender-7.
|
||||||
min_slic3r_version = 2.5.0-alpha0
|
min_slic3r_version = 2.5.0-alpha0
|
||||||
0.2.4 Add SPEED presets. More conservative extruder clearance.
|
0.2.4 Add SPEED presets. More conservative extruder clearance.
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
name = Creality
|
name = Creality
|
||||||
# Configuration version of this file. Config file will only be installed, if the config_version differs.
|
# Configuration version of this file. Config file will only be installed, if the config_version differs.
|
||||||
# This means, the server may force the PrusaSlicer configuration to be downgraded.
|
# This means, the server may force the PrusaSlicer configuration to be downgraded.
|
||||||
config_version = 0.2.6
|
config_version = 0.2.7
|
||||||
# Where to get the updates from?
|
# Where to get the updates from?
|
||||||
config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/Creality/
|
config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/Creality/
|
||||||
# changelog_url = https://files.prusa3d.com/?latest=slicer-profiles&lng=%1%
|
# changelog_url = https://files.prusa3d.com/?latest=slicer-profiles&lng=%1%
|
||||||
@ -1510,7 +1510,66 @@ filament_cost = 28.99
|
|||||||
filament_density = 1.12
|
filament_density = 1.12
|
||||||
filament_colour = #3598DB
|
filament_colour = #3598DB
|
||||||
|
|
||||||
|
[filament:Eolas Prints PLA @CREALITY]
|
||||||
|
inherits = *PLA*
|
||||||
|
filament_vendor = Eolas Prints
|
||||||
|
filament_cost = 23.50
|
||||||
|
filament_density = 1.24
|
||||||
|
filament_spool_weight = 0
|
||||||
|
filament_colour = #4D9398
|
||||||
|
first_layer_bed_temperature = 65
|
||||||
|
first_layer_temperature = 208
|
||||||
|
temperature = 202
|
||||||
|
|
||||||
|
[filament:Eolas Prints PLA Matte @CREALITY]
|
||||||
|
inherits = Eolas Prints PLA @CREALITY
|
||||||
|
filament_cost = 25.50
|
||||||
|
filament_max_volumetric_speed = 14
|
||||||
|
temperature = 210
|
||||||
|
|
||||||
|
[filament:Eolas Prints INGEO 850 @CREALITY]
|
||||||
|
inherits = Eolas Prints PLA @CREALITY
|
||||||
|
filament_cost = 25.90
|
||||||
|
temperature = 210
|
||||||
|
|
||||||
|
[filament:Eolas Prints INGEO 870 @CREALITY]
|
||||||
|
inherits = Eolas Prints PLA @CREALITY
|
||||||
|
filament_cost = 25.90
|
||||||
|
temperature = 215
|
||||||
|
first_layer_bed_temperature = 68
|
||||||
|
first_layer_temperature = 220
|
||||||
|
bed_temperature = 65
|
||||||
|
|
||||||
|
[filament:Eolas Prints PETG @CREALITY]
|
||||||
|
inherits = *PET*
|
||||||
|
filament_vendor = Eolas Prints
|
||||||
|
filament_cost = 29.90
|
||||||
|
filament_density = 1.27
|
||||||
|
filament_spool_weight = 0
|
||||||
|
filament_colour = #4D9398
|
||||||
|
temperature = 240
|
||||||
|
first_layer_bed_temperature = 85
|
||||||
|
first_layer_temperature = 235
|
||||||
|
bed_temperature = 90
|
||||||
|
|
||||||
|
[filament:Eolas Prints PETG - UV Resistant @CREALITY]
|
||||||
|
inherits = Eolas Prints PETG @CREALITY
|
||||||
|
filament_cost = 35.90
|
||||||
|
temperature = 242
|
||||||
|
first_layer_temperature = 237
|
||||||
|
|
||||||
|
[filament:Eolas Prints TPU 93A @CREALITY]
|
||||||
|
inherits = *TPU*
|
||||||
|
filament_vendor = Eolas Prints
|
||||||
|
filament_cost = 34.99
|
||||||
|
filament_density = 1.21
|
||||||
|
filament_colour = #4D9398
|
||||||
|
filament_max_volumetric_speed = 1.2
|
||||||
|
temperature = 235
|
||||||
|
first_layer_bed_temperature = 30
|
||||||
|
bed_temperature = 30
|
||||||
|
filament_retract_length = 0
|
||||||
|
extrusion_multiplier = 1.16
|
||||||
|
|
||||||
# Common printer preset
|
# Common printer preset
|
||||||
[printer:*common*]
|
[printer:*common*]
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
min_slic3r_version = 2.6.0-alpha1
|
min_slic3r_version = 2.6.0-alpha1
|
||||||
|
1.0.3 Added Eolas Prints filaments.
|
||||||
1.0.2 Added new printer models.
|
1.0.2 Added new printer models.
|
||||||
min_slic3r_version = 2.5.0-alpha3
|
min_slic3r_version = 2.5.0-alpha3
|
||||||
1.0.1 Decreased bed size to 220x220.
|
1.0.1 Decreased bed size to 220x220.
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
name = Elegoo
|
name = Elegoo
|
||||||
# Configuration version of this file. Config file will only be installed, if the config_version differs.
|
# Configuration version of this file. Config file will only be installed, if the config_version differs.
|
||||||
# This means, the server may force the PrusaSlicer configuration to be downgraded.
|
# This means, the server may force the PrusaSlicer configuration to be downgraded.
|
||||||
config_version = 1.0.2
|
config_version = 1.0.3
|
||||||
config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/Elegoo/
|
config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/Elegoo/
|
||||||
|
|
||||||
# The printer models will be shown by the Configuration Wizard in this order,
|
# The printer models will be shown by the Configuration Wizard in this order,
|
||||||
@ -365,6 +365,54 @@ first_layer_bed_temperature = 90
|
|||||||
bed_temperature = 90
|
bed_temperature = 90
|
||||||
filament_vendor = Generic
|
filament_vendor = Generic
|
||||||
|
|
||||||
|
[filament:Eolas Prints PLA @ELEGOO]
|
||||||
|
inherits = *PLA*
|
||||||
|
filament_vendor = Eolas Prints
|
||||||
|
filament_cost = 23.50
|
||||||
|
filament_density = 1.24
|
||||||
|
filament_spool_weight = 0
|
||||||
|
filament_colour = #4D9398
|
||||||
|
first_layer_bed_temperature = 65
|
||||||
|
first_layer_temperature = 208
|
||||||
|
temperature = 202
|
||||||
|
|
||||||
|
[filament:Eolas Prints PLA Matte @ELEGOO]
|
||||||
|
inherits = Eolas Prints PLA @ELEGOO
|
||||||
|
filament_cost = 25.50
|
||||||
|
filament_max_volumetric_speed = 14
|
||||||
|
temperature = 210
|
||||||
|
|
||||||
|
[filament:Eolas Prints INGEO 850 @ELEGOO]
|
||||||
|
inherits = Eolas Prints PLA @ELEGOO
|
||||||
|
filament_cost = 25.90
|
||||||
|
temperature = 210
|
||||||
|
|
||||||
|
[filament:Eolas Prints INGEO 870 @ELEGOO]
|
||||||
|
inherits = Eolas Prints PLA @ELEGOO
|
||||||
|
filament_cost = 25.90
|
||||||
|
temperature = 215
|
||||||
|
first_layer_bed_temperature = 68
|
||||||
|
first_layer_temperature = 220
|
||||||
|
bed_temperature = 65
|
||||||
|
|
||||||
|
[filament:Eolas Prints PETG @ELEGOO]
|
||||||
|
inherits = *PET*
|
||||||
|
filament_vendor = Eolas Prints
|
||||||
|
filament_cost = 29.90
|
||||||
|
filament_density = 1.27
|
||||||
|
filament_spool_weight = 0
|
||||||
|
filament_colour = #4D9398
|
||||||
|
temperature = 240
|
||||||
|
first_layer_bed_temperature = 85
|
||||||
|
first_layer_temperature = 235
|
||||||
|
bed_temperature = 90
|
||||||
|
|
||||||
|
[filament:Eolas Prints PETG - UV Resistant @ELEGOO]
|
||||||
|
inherits = Eolas Prints PETG @ELEGOO
|
||||||
|
filament_cost = 35.90
|
||||||
|
temperature = 242
|
||||||
|
first_layer_temperature = 237
|
||||||
|
|
||||||
# Common printer preset
|
# Common printer preset
|
||||||
[printer:*common*]
|
[printer:*common*]
|
||||||
printer_technology = FFF
|
printer_technology = FFF
|
||||||
|
@ -361,6 +361,8 @@ inline Slic3r::Polygons expand(const Slic3r::Polygon &polygon, const float del
|
|||||||
{ assert(delta > 0); return offset(polygon, delta, joinType, miterLimit); }
|
{ assert(delta > 0); return offset(polygon, delta, joinType, miterLimit); }
|
||||||
inline Slic3r::Polygons expand(const Slic3r::Polygons &polygons, const float delta, ClipperLib::JoinType joinType = DefaultJoinType, double miterLimit = DefaultMiterLimit)
|
inline Slic3r::Polygons expand(const Slic3r::Polygons &polygons, const float delta, ClipperLib::JoinType joinType = DefaultJoinType, double miterLimit = DefaultMiterLimit)
|
||||||
{ assert(delta > 0); return offset(polygons, delta, joinType, miterLimit); }
|
{ assert(delta > 0); return offset(polygons, delta, joinType, miterLimit); }
|
||||||
|
inline Slic3r::Polygons expand(const Slic3r::ExPolygons &polygons, const float delta, ClipperLib::JoinType joinType = DefaultJoinType, double miterLimit = DefaultMiterLimit)
|
||||||
|
{ assert(delta > 0); return offset(polygons, delta, joinType, miterLimit); }
|
||||||
inline Slic3r::ExPolygons expand_ex(const Slic3r::Polygons &polygons, const float delta, ClipperLib::JoinType joinType = DefaultJoinType, double miterLimit = DefaultMiterLimit)
|
inline Slic3r::ExPolygons expand_ex(const Slic3r::Polygons &polygons, const float delta, ClipperLib::JoinType joinType = DefaultJoinType, double miterLimit = DefaultMiterLimit)
|
||||||
{ assert(delta > 0); return offset_ex(polygons, delta, joinType, miterLimit); }
|
{ assert(delta > 0); return offset_ex(polygons, delta, joinType, miterLimit); }
|
||||||
// Input polygons for shrinking shall be "normalized": There must be no overlap / intersections between the input polygons.
|
// Input polygons for shrinking shall be "normalized": There must be no overlap / intersections between the input polygons.
|
||||||
|
@ -398,7 +398,7 @@ bool inside_convex_polygon(const std::pair<std::vector<Vec2d>, std::vector<Vec2d
|
|||||||
// At min x.
|
// At min x.
|
||||||
assert(pt.x() == it_bottom->x());
|
assert(pt.x() == it_bottom->x());
|
||||||
assert(pt.x() == it_top->x());
|
assert(pt.x() == it_top->x());
|
||||||
assert(it_bottom->y() <= pt.y() <= it_top->y());
|
assert(it_bottom->y() <= pt.y() && pt.y() <= it_top->y());
|
||||||
return pt.y() >= it_bottom->y() && pt.y() <= it_top->y();
|
return pt.y() >= it_bottom->y() && pt.y() <= it_top->y();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1260,20 +1260,20 @@ namespace SupportMaterialInternal {
|
|||||||
collect_bridging_perimeter_areas(*static_cast<const ExtrusionLoop*>(ee), expansion_scaled, out);
|
collect_bridging_perimeter_areas(*static_cast<const ExtrusionLoop*>(ee), expansion_scaled, out);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void remove_bridges_from_contacts(
|
void remove_bridges_from_contacts(
|
||||||
const PrintConfig &print_config,
|
const PrintConfig &print_config,
|
||||||
const Layer &lower_layer,
|
const Layer &lower_layer,
|
||||||
const Polygons &lower_layer_polygons,
|
|
||||||
const LayerRegion &layerm,
|
const LayerRegion &layerm,
|
||||||
float fw,
|
float fw,
|
||||||
Polygons &contact_polygons)
|
Polygons &contact_polygons)
|
||||||
{
|
{
|
||||||
// compute the area of bridging perimeters
|
// compute the area of bridging perimeters
|
||||||
Polygons bridges;
|
Polygons bridges;
|
||||||
{
|
{
|
||||||
// Surface supporting this layer, expanded by 0.5 * nozzle_diameter, as we consider this kind of overhang to be sufficiently supported.
|
// Surface supporting this layer, expanded by 0.5 * nozzle_diameter, as we consider this kind of overhang to be sufficiently supported.
|
||||||
Polygons lower_grown_slices = expand(lower_layer_polygons,
|
Polygons lower_grown_slices = expand(lower_layer.lslices,
|
||||||
//FIXME to mimic the decision in the perimeter generator, we should use half the external perimeter width.
|
//FIXME to mimic the decision in the perimeter generator, we should use half the external perimeter width.
|
||||||
0.5f * float(scale_(print_config.nozzle_diameter.get_at(layerm.region().config().perimeter_extruder-1))),
|
0.5f * float(scale_(print_config.nozzle_diameter.get_at(layerm.region().config().perimeter_extruder-1))),
|
||||||
SUPPORT_SURFACES_OFFSET_PARAMETERS);
|
SUPPORT_SURFACES_OFFSET_PARAMETERS);
|
||||||
@ -1340,7 +1340,6 @@ namespace SupportMaterialInternal {
|
|||||||
{ { union_ex(contact_polygons) }, { "contact_polygons", "blue", 0.5f } },
|
{ { union_ex(contact_polygons) }, { "contact_polygons", "blue", 0.5f } },
|
||||||
{ { union_ex(bridges) }, { "bridges", "red", "black", "", scaled<coord_t>(0.1f), 0.5f } } });
|
{ { union_ex(bridges) }, { "bridges", "red", "black", "", scaled<coord_t>(0.1f), 0.5f } } });
|
||||||
#endif /* SLIC3R_DEBUG */
|
#endif /* SLIC3R_DEBUG */
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<Polygons> PrintObjectSupportMaterial::buildplate_covered(const PrintObject &object) const
|
std::vector<Polygons> PrintObjectSupportMaterial::buildplate_covered(const PrintObject &object) const
|
||||||
@ -1558,8 +1557,7 @@ static inline std::tuple<Polygons, Polygons, Polygons, float> detect_overhangs(
|
|||||||
|
|
||||||
if (object_config.dont_support_bridges)
|
if (object_config.dont_support_bridges)
|
||||||
//FIXME Expensive, potentially not precise enough. Misses gap fill extrusions, which bridge.
|
//FIXME Expensive, potentially not precise enough. Misses gap fill extrusions, which bridge.
|
||||||
SupportMaterialInternal::remove_bridges_from_contacts(
|
remove_bridges_from_contacts(print_config, lower_layer, *layerm, fw, diff_polygons);
|
||||||
print_config, lower_layer, lower_layer_polygons, *layerm, fw, diff_polygons);
|
|
||||||
|
|
||||||
if (diff_polygons.empty())
|
if (diff_polygons.empty())
|
||||||
continue;
|
continue;
|
||||||
|
@ -147,6 +147,15 @@ struct SupportParameters {
|
|||||||
bool with_sheath;
|
bool with_sheath;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Remove bridges from support contact areas.
|
||||||
|
// To be called if PrintObjectConfig::dont_support_bridges.
|
||||||
|
void remove_bridges_from_contacts(
|
||||||
|
const PrintConfig &print_config,
|
||||||
|
const Layer &lower_layer,
|
||||||
|
const LayerRegion &layerm,
|
||||||
|
float fw,
|
||||||
|
Polygons &contact_polygons);
|
||||||
|
|
||||||
// Generate raft layers, also expand the 1st support layer
|
// Generate raft layers, also expand the 1st support layer
|
||||||
// in case there is no raft layer to improve support adhesion.
|
// in case there is no raft layer to improve support adhesion.
|
||||||
SupportGeneratorLayersPtr generate_raft_base(
|
SupportGeneratorLayersPtr generate_raft_base(
|
||||||
|
@ -954,7 +954,7 @@ std::tuple<SupportPoints, PartialObjects> check_stability(const PrintObject *po,
|
|||||||
float unchecked_dist = params.min_distance_between_support_points + 1.0f;
|
float unchecked_dist = params.min_distance_between_support_points + 1.0f;
|
||||||
|
|
||||||
for (const ExtrusionLine &line : current_slice_ext_perims_lines) {
|
for (const ExtrusionLine &line : current_slice_ext_perims_lines) {
|
||||||
if ((unchecked_dist + line.len < params.min_distance_between_support_points && line.curled_up_height < 0.3f) ||
|
if ((unchecked_dist + line.len < params.min_distance_between_support_points && line.curled_up_height < params.curling_tolerance_limit) ||
|
||||||
line.len < EPSILON) {
|
line.len < EPSILON) {
|
||||||
unchecked_dist += line.len;
|
unchecked_dist += line.len;
|
||||||
} else {
|
} else {
|
||||||
@ -1077,14 +1077,14 @@ void estimate_supports_malformations(SupportLayerPtrs &layers, float flow_width,
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (const ExtrusionLine &line : current_layer_lines) {
|
for (const ExtrusionLine &line : current_layer_lines) {
|
||||||
if (line.curled_up_height > 0.3f) {
|
if (line.curled_up_height > params.curling_tolerance_limit) {
|
||||||
l->malformed_lines.push_back(Line{Point::new_scale(line.a), Point::new_scale(line.b)});
|
l->malformed_lines.push_back(Line{Point::new_scale(line.a), Point::new_scale(line.b)});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef DEBUG_FILES
|
#ifdef DEBUG_FILES
|
||||||
for (const ExtrusionLine &line : current_layer_lines) {
|
for (const ExtrusionLine &line : current_layer_lines) {
|
||||||
if (line.curled_up_height > 0.3f) {
|
if (line.curled_up_height > params.curling_tolerance_limit) {
|
||||||
Vec3f color = value_to_rgbf(-EPSILON, l->height * params.max_curled_height_factor, line.curled_up_height);
|
Vec3f color = value_to_rgbf(-EPSILON, l->height * params.max_curled_height_factor, line.curled_up_height);
|
||||||
fprintf(debug_file, "v %f %f %f %f %f %f\n", line.b[0], line.b[1], l->print_z, color[0], color[1], color[2]);
|
fprintf(debug_file, "v %f %f %f %f %f %f\n", line.b[0], line.b[1], l->print_z, color[0], color[1], color[2]);
|
||||||
}
|
}
|
||||||
@ -1150,14 +1150,14 @@ void estimate_malformations(LayerPtrs &layers, const Params ¶ms)
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (const ExtrusionLine &line : current_layer_lines) {
|
for (const ExtrusionLine &line : current_layer_lines) {
|
||||||
if (line.curled_up_height > 0.3f) {
|
if (line.curled_up_height > params.curling_tolerance_limit) {
|
||||||
l->malformed_lines.push_back(Line{Point::new_scale(line.a), Point::new_scale(line.b)});
|
l->malformed_lines.push_back(Line{Point::new_scale(line.a), Point::new_scale(line.b)});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef DEBUG_FILES
|
#ifdef DEBUG_FILES
|
||||||
for (const ExtrusionLine &line : current_layer_lines) {
|
for (const ExtrusionLine &line : current_layer_lines) {
|
||||||
if (line.curled_up_height > 0.3f) {
|
if (line.curled_up_height > params.curling_tolerance_limit) {
|
||||||
Vec3f color = value_to_rgbf(-EPSILON, l->height * params.max_curled_height_factor, line.curled_up_height);
|
Vec3f color = value_to_rgbf(-EPSILON, l->height * params.max_curled_height_factor, line.curled_up_height);
|
||||||
fprintf(debug_file, "v %f %f %f %f %f %f\n", line.b[0], line.b[1], l->print_z, color[0], color[1], color[2]);
|
fprintf(debug_file, "v %f %f %f %f %f %f\n", line.b[0], line.b[1], l->print_z, color[0], color[1], color[2]);
|
||||||
}
|
}
|
||||||
|
@ -44,6 +44,7 @@ struct Params
|
|||||||
|
|
||||||
const std::pair<float,float> malformation_distance_factors = std::pair<float, float> { 0.5, 1.1 };
|
const std::pair<float,float> malformation_distance_factors = std::pair<float, float> { 0.5, 1.1 };
|
||||||
const float max_curled_height_factor = 10.0f;
|
const float max_curled_height_factor = 10.0f;
|
||||||
|
const float curling_tolerance_limit = 0.1f;
|
||||||
|
|
||||||
const float min_distance_between_support_points = 3.0f; //mm
|
const float min_distance_between_support_points = 3.0f; //mm
|
||||||
const float support_points_interface_radius = 1.5f; // mm
|
const float support_points_interface_radius = 1.5f; // mm
|
||||||
|
@ -226,6 +226,7 @@ void tree_supports_show_error(std::string_view message, bool critical)
|
|||||||
{
|
{
|
||||||
std::vector<Polygons> out(print_object.layer_count(), Polygons{});
|
std::vector<Polygons> out(print_object.layer_count(), Polygons{});
|
||||||
|
|
||||||
|
const PrintConfig &print_config = print_object.print()->config();
|
||||||
const PrintObjectConfig &config = print_object.config();
|
const PrintObjectConfig &config = print_object.config();
|
||||||
const bool support_auto = config.support_material.value && config.support_material_auto.value;
|
const bool support_auto = config.support_material.value && config.support_material_auto.value;
|
||||||
const int support_enforce_layers = config.support_material_enforce_layers.value;
|
const int support_enforce_layers = config.support_material_enforce_layers.value;
|
||||||
@ -242,7 +243,8 @@ void tree_supports_show_error(std::string_view message, bool critical)
|
|||||||
|
|
||||||
size_t num_overhang_layers = support_auto ? out.size() : std::max(size_t(support_enforce_layers), enforcers_layers.size());
|
size_t num_overhang_layers = support_auto ? out.size() : std::max(size_t(support_enforce_layers), enforcers_layers.size());
|
||||||
tbb::parallel_for(tbb::blocked_range<LayerIndex>(1, num_overhang_layers),
|
tbb::parallel_for(tbb::blocked_range<LayerIndex>(1, num_overhang_layers),
|
||||||
[&print_object, &enforcers_layers, &blockers_layers, support_auto, support_enforce_layers, support_threshold_auto, tan_threshold, enforcer_overhang_offset, &throw_on_cancel, &out]
|
[&print_object, &config, &print_config, &enforcers_layers, &blockers_layers,
|
||||||
|
support_auto, support_enforce_layers, support_threshold_auto, tan_threshold, enforcer_overhang_offset, &throw_on_cancel, &out]
|
||||||
(const tbb::blocked_range<LayerIndex> &range) {
|
(const tbb::blocked_range<LayerIndex> &range) {
|
||||||
for (LayerIndex layer_id = range.begin(); layer_id < range.end(); ++ layer_id) {
|
for (LayerIndex layer_id = range.begin(); layer_id < range.end(); ++ layer_id) {
|
||||||
const Layer ¤t_layer = *print_object.get_layer(layer_id);
|
const Layer ¤t_layer = *print_object.get_layer(layer_id);
|
||||||
@ -275,6 +277,11 @@ void tree_supports_show_error(std::string_view message, bool critical)
|
|||||||
}
|
}
|
||||||
if (! (enforced_layer || blockers_layers.empty() || blockers_layers[layer_id].empty()))
|
if (! (enforced_layer || blockers_layers.empty() || blockers_layers[layer_id].empty()))
|
||||||
overhangs = diff(overhangs, blockers_layers[layer_id], ApplySafetyOffset::Yes);
|
overhangs = diff(overhangs, blockers_layers[layer_id], ApplySafetyOffset::Yes);
|
||||||
|
if (config.dont_support_bridges) {
|
||||||
|
for (const LayerRegion *layerm : current_layer.regions())
|
||||||
|
remove_bridges_from_contacts(print_config, lower_layer, *layerm,
|
||||||
|
float(layerm->flow(frExternalPerimeter).scaled_width()), overhangs);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//check_self_intersections(overhangs, "generate_overhangs1");
|
//check_self_intersections(overhangs, "generate_overhangs1");
|
||||||
if (! enforcers_layers.empty() && ! enforcers_layers[layer_id].empty()) {
|
if (! enforcers_layers.empty() && ! enforcers_layers[layer_id].empty()) {
|
||||||
|
@ -656,7 +656,7 @@ void GLGizmoCut3D::render_cut_plane()
|
|||||||
shader->set_uniform("view_model_matrix", view_model_matrix);
|
shader->set_uniform("view_model_matrix", view_model_matrix);
|
||||||
shader->set_uniform("projection_matrix", camera.get_projection_matrix());
|
shader->set_uniform("projection_matrix", camera.get_projection_matrix());
|
||||||
|
|
||||||
if (can_perform_cut())
|
if (can_perform_cut() && has_valid_contour())
|
||||||
// m_plane.set_color({ 0.8f, 0.8f, 0.8f, 0.5f });
|
// m_plane.set_color({ 0.8f, 0.8f, 0.8f, 0.5f });
|
||||||
m_plane.set_color({ 0.9f, 0.9f, 0.9f, 0.5f });
|
m_plane.set_color({ 0.9f, 0.9f, 0.9f, 0.5f });
|
||||||
else
|
else
|
||||||
@ -1834,6 +1834,8 @@ void GLGizmoCut3D::render_input_window_warning() const
|
|||||||
}
|
}
|
||||||
if (!m_keep_upper && !m_keep_lower)
|
if (!m_keep_upper && !m_keep_lower)
|
||||||
m_imgui->text(wxString(ImGui::WarningMarkerSmall) + _L("Invalid state. \nNo one part is selected for keep after cut"));
|
m_imgui->text(wxString(ImGui::WarningMarkerSmall) + _L("Invalid state. \nNo one part is selected for keep after cut"));
|
||||||
|
if (!has_valid_contour())
|
||||||
|
m_imgui->text(wxString(ImGui::WarningMarkerSmall) + _L("Warning state. \nCut plane is placed out of object"));
|
||||||
}
|
}
|
||||||
|
|
||||||
void GLGizmoCut3D::on_render_input_window(float x, float y, float bottom_limit)
|
void GLGizmoCut3D::on_render_input_window(float x, float y, float bottom_limit)
|
||||||
@ -2038,6 +2040,11 @@ bool GLGizmoCut3D::can_perform_cut() const
|
|||||||
if (m_has_invalid_connector || (!m_keep_upper && !m_keep_lower) || m_connectors_editing)
|
if (m_has_invalid_connector || (!m_keep_upper && !m_keep_lower) || m_connectors_editing)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
return true;// has_valid_contour();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool GLGizmoCut3D::has_valid_contour() const
|
||||||
|
{
|
||||||
const auto clipper = m_c->object_clipper();
|
const auto clipper = m_c->object_clipper();
|
||||||
return clipper && clipper->has_valid_contour();
|
return clipper && clipper->has_valid_contour();
|
||||||
}
|
}
|
||||||
|
@ -250,6 +250,7 @@ private:
|
|||||||
void render_connectors();
|
void render_connectors();
|
||||||
|
|
||||||
bool can_perform_cut() const;
|
bool can_perform_cut() const;
|
||||||
|
bool has_valid_contour() const;
|
||||||
void apply_connectors_in_model(ModelObject* mo, bool &create_dowels_as_separate_object);
|
void apply_connectors_in_model(ModelObject* mo, bool &create_dowels_as_separate_object);
|
||||||
bool cut_line_processing() const;
|
bool cut_line_processing() const;
|
||||||
void discard_cut_line_processing();
|
void discard_cut_line_processing();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user