mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-12 01:07:57 -06:00
Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer
This commit is contained in:
commit
03bb8a60a3
23 changed files with 354 additions and 97 deletions
|
@ -259,9 +259,8 @@ inherits = *PLA*
|
||||||
# alias = Generic PLA
|
# alias = Generic PLA
|
||||||
filament_vendor = Generic
|
filament_vendor = Generic
|
||||||
|
|
||||||
[filament:Generic PET @ENDER3]
|
[filament:Generic PETG @ENDER3]
|
||||||
inherits = *PET*
|
inherits = *PET*
|
||||||
# alias = Generic PET
|
|
||||||
filament_vendor = Generic
|
filament_vendor = Generic
|
||||||
|
|
||||||
[filament:Generic ABS @ENDER3]
|
[filament:Generic ABS @ENDER3]
|
||||||
|
@ -280,9 +279,9 @@ bed_temperature = 40
|
||||||
first_layer_temperature = 210
|
first_layer_temperature = 210
|
||||||
first_layer_bed_temperature =40
|
first_layer_bed_temperature =40
|
||||||
|
|
||||||
[filament:Creality PET @ENDER3]
|
[filament:Creality PETG @ENDER3]
|
||||||
inherits = *PET*
|
inherits = *PET*
|
||||||
# alias = Creality PET
|
# alias = Creality PETG
|
||||||
filament_vendor = Creality
|
filament_vendor = Creality
|
||||||
temperature = 240
|
temperature = 240
|
||||||
bed_temperature = 70
|
bed_temperature = 70
|
||||||
|
@ -303,7 +302,7 @@ first_layer_bed_temperature =90
|
||||||
[filament:Prusament PLA @ENDER3]
|
[filament:Prusament PLA @ENDER3]
|
||||||
inherits = *PLA*
|
inherits = *PLA*
|
||||||
# alias = Prusament PLA
|
# alias = Prusament PLA
|
||||||
filament_vendor = Prusa Research
|
filament_vendor = Prusa Polymers
|
||||||
temperature = 215
|
temperature = 215
|
||||||
bed_temperature = 40
|
bed_temperature = 40
|
||||||
first_layer_temperature = 215
|
first_layer_temperature = 215
|
||||||
|
@ -314,7 +313,7 @@ filament_density = 1.24
|
||||||
[filament:Prusament PETG @ENDER3]
|
[filament:Prusament PETG @ENDER3]
|
||||||
inherits = *PET*
|
inherits = *PET*
|
||||||
# alias = Prusament PETG
|
# alias = Prusament PETG
|
||||||
filament_vendor = Prusa Research
|
filament_vendor = Prusa Polymers
|
||||||
temperature = 245
|
temperature = 245
|
||||||
bed_temperature = 70
|
bed_temperature = 70
|
||||||
first_layer_temperature = 245
|
first_layer_temperature = 245
|
||||||
|
|
|
@ -1715,7 +1715,7 @@ filament_type = ASA
|
||||||
|
|
||||||
[filament:Prusament ASA]
|
[filament:Prusament ASA]
|
||||||
inherits = *ABS*
|
inherits = *ABS*
|
||||||
filament_vendor = Prusa Research
|
filament_vendor = Prusa Polymers
|
||||||
filament_cost = 35.28
|
filament_cost = 35.28
|
||||||
filament_density = 1.07
|
filament_density = 1.07
|
||||||
fan_always_on = 1
|
fan_always_on = 1
|
||||||
|
@ -1763,14 +1763,36 @@ inherits = *ABS*
|
||||||
filament_vendor = Generic
|
filament_vendor = Generic
|
||||||
filament_cost = 27.82
|
filament_cost = 27.82
|
||||||
filament_density = 1.04
|
filament_density = 1.04
|
||||||
filament_notes = "List of materials tested with standard ABS print settings:\n\nEsun ABS\nFil-A-Gehr ABS\nHatchboxABS\nPlasty Mladec ABS"
|
|
||||||
|
|
||||||
[filament:Generic PET]
|
[filament:Esun ABS]
|
||||||
|
inherits = *ABS*
|
||||||
|
filament_vendor = Esun
|
||||||
|
filament_cost = 27.82
|
||||||
|
filament_density = 1.04
|
||||||
|
|
||||||
|
[filament:Hatchbox ABS]
|
||||||
|
inherits = *ABS*
|
||||||
|
filament_vendor = Hatchbox
|
||||||
|
filament_cost = 27.82
|
||||||
|
filament_density = 1.04
|
||||||
|
|
||||||
|
[filament:Plasty Mladec ABS]
|
||||||
|
inherits = *ABS*
|
||||||
|
filament_vendor = Plasty Mladec
|
||||||
|
filament_cost = 27.82
|
||||||
|
filament_density = 1.04
|
||||||
|
|
||||||
|
[filament:Generic PETG]
|
||||||
inherits = *PET*
|
inherits = *PET*
|
||||||
filament_vendor = Generic
|
filament_vendor = Generic
|
||||||
filament_cost = 27.82
|
filament_cost = 27.82
|
||||||
filament_density = 1.27
|
filament_density = 1.27
|
||||||
filament_notes = "List of manufacturers tested with standard PET print settings:\n\nE3D Edge\nFillamentum CPE GH100\nPlasty Mladec PETG"
|
|
||||||
|
[filament:Plasty Mladec PETG]
|
||||||
|
inherits = *PET*
|
||||||
|
filament_vendor = Plasty Mladec
|
||||||
|
filament_cost = 27.82
|
||||||
|
filament_density = 1.27
|
||||||
|
|
||||||
[filament:Generic PLA]
|
[filament:Generic PLA]
|
||||||
inherits = *PLA*
|
inherits = *PLA*
|
||||||
|
@ -1899,7 +1921,7 @@ filament_vendor = Generic
|
||||||
[filament:Prusament ASA @MMU2]
|
[filament:Prusament ASA @MMU2]
|
||||||
inherits = *ABS MMU2*
|
inherits = *ABS MMU2*
|
||||||
# alias = Prusament ASA
|
# alias = Prusament ASA
|
||||||
filament_vendor = Prusa Research
|
filament_vendor = Prusa Polymers
|
||||||
filament_cost = 35.28
|
filament_cost = 35.28
|
||||||
filament_density = 1.07
|
filament_density = 1.07
|
||||||
fan_always_on = 1
|
fan_always_on = 1
|
||||||
|
@ -1925,6 +1947,10 @@ inherits = *ABS MMU2*
|
||||||
# alias = Prusa ABS
|
# alias = Prusa ABS
|
||||||
filament_vendor = Made for Prusa
|
filament_vendor = Made for Prusa
|
||||||
|
|
||||||
|
[filament:Plasty Mladec ABS @MMU2]
|
||||||
|
inherits = *ABS MMU2*
|
||||||
|
filament_vendor = Plasty Mladec
|
||||||
|
|
||||||
[filament:Prusa HIPS]
|
[filament:Prusa HIPS]
|
||||||
inherits = *ABS*
|
inherits = *ABS*
|
||||||
filament_vendor = Made for Prusa
|
filament_vendor = Made for Prusa
|
||||||
|
@ -1944,17 +1970,17 @@ min_fan_speed = 20
|
||||||
start_filament_gcode = "M900 K{if printer_notes=~/.*PRINTER_MODEL_MINI.*/}0{elsif printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}0{else}10{endif}; Filament gcode"
|
start_filament_gcode = "M900 K{if printer_notes=~/.*PRINTER_MODEL_MINI.*/}0{elsif printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}0{else}10{endif}; Filament gcode"
|
||||||
temperature = 220
|
temperature = 220
|
||||||
|
|
||||||
[filament:Prusa PET]
|
[filament:Prusa PETG]
|
||||||
inherits = *PET*
|
inherits = *PET*
|
||||||
filament_vendor = Made for Prusa
|
filament_vendor = Made for Prusa
|
||||||
filament_cost = 27.82
|
filament_cost = 27.82
|
||||||
filament_density = 1.27
|
filament_density = 1.27
|
||||||
filament_notes = "List of manufacturers tested with standard PET print settings:\n\nE3D Edge\nPlasty Mladec PETG"
|
filament_notes = "List of manufacturers tested with standard PETG print settings:\n\nE3D Edge\nPlasty Mladec PETG"
|
||||||
compatible_printers_condition = nozzle_diameter[0]!=0.6 and printer_model!="MK2SMM" and printer_model!="MINI" and ! (printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material)
|
compatible_printers_condition = nozzle_diameter[0]!=0.6 and printer_model!="MK2SMM" and printer_model!="MINI" and ! (printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material)
|
||||||
|
|
||||||
[filament:Prusament PETG]
|
[filament:Prusament PETG]
|
||||||
inherits = *PET*
|
inherits = *PET*
|
||||||
filament_vendor = Prusa Research
|
filament_vendor = Prusa Polymers
|
||||||
first_layer_temperature = 240
|
first_layer_temperature = 240
|
||||||
temperature = 250
|
temperature = 250
|
||||||
filament_cost = 24.99
|
filament_cost = 24.99
|
||||||
|
@ -1962,18 +1988,26 @@ filament_density = 1.27
|
||||||
filament_type = PETG
|
filament_type = PETG
|
||||||
compatible_printers_condition = nozzle_diameter[0]!=0.6 and printer_model!="MK2SMM" and printer_model!="MINI" and ! (printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material)
|
compatible_printers_condition = nozzle_diameter[0]!=0.6 and printer_model!="MK2SMM" and printer_model!="MINI" and ! (printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material)
|
||||||
|
|
||||||
[filament:Prusa PET @0.6 nozzle]
|
[filament:Prusa PETG @0.6 nozzle]
|
||||||
inherits = *PET06*
|
inherits = *PET06*
|
||||||
# alias = Prusa PET
|
# alias = Prusa PETG
|
||||||
filament_vendor = Made for Prusa
|
filament_vendor = Made for Prusa
|
||||||
filament_cost = 27.82
|
filament_cost = 27.82
|
||||||
filament_density = 1.27
|
filament_density = 1.27
|
||||||
filament_notes = "List of manufacturers tested with standard PET print settings:\n\nE3D Edge\nPlasty Mladec PETG"
|
filament_notes = "List of manufacturers tested with standard PETG print settings:\n\nE3D Edge\nPlasty Mladec PETG"
|
||||||
|
|
||||||
[filament:Prusament PETG @0.6 nozzle]
|
[filament:Prusament PETG @0.6 nozzle]
|
||||||
inherits = *PET06*
|
inherits = *PET06*
|
||||||
# alias = Prusament PETG
|
filament_vendor = Prusa Polymers
|
||||||
filament_vendor = Prusa Research
|
first_layer_temperature = 240
|
||||||
|
temperature = 250
|
||||||
|
filament_cost = 24.99
|
||||||
|
filament_density = 1.27
|
||||||
|
filament_type = PETG
|
||||||
|
|
||||||
|
[filament:Plasty Mladec PETG @0.6 nozzle]
|
||||||
|
inherits = *PET06*
|
||||||
|
filament_vendor = Plasty Mladec
|
||||||
first_layer_temperature = 240
|
first_layer_temperature = 240
|
||||||
temperature = 250
|
temperature = 250
|
||||||
filament_cost = 24.99
|
filament_cost = 24.99
|
||||||
|
@ -1981,7 +2015,7 @@ filament_density = 1.27
|
||||||
filament_type = PETG
|
filament_type = PETG
|
||||||
|
|
||||||
[filament:*PET MMU2*]
|
[filament:*PET MMU2*]
|
||||||
inherits = Prusa PET
|
inherits = Prusa PETG
|
||||||
compatible_printers_condition = nozzle_diameter[0]!=0.6 and printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material
|
compatible_printers_condition = nozzle_diameter[0]!=0.6 and printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material
|
||||||
temperature = 230
|
temperature = 230
|
||||||
first_layer_temperature = 230
|
first_layer_temperature = 230
|
||||||
|
@ -2004,48 +2038,105 @@ inherits = *PET MMU2*
|
||||||
compatible_printers_condition = nozzle_diameter[0]==0.6 and printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material
|
compatible_printers_condition = nozzle_diameter[0]==0.6 and printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material
|
||||||
filament_max_volumetric_speed = 13
|
filament_max_volumetric_speed = 13
|
||||||
|
|
||||||
[filament:Generic PET @MMU2]
|
[filament:Generic PETG @MMU2]
|
||||||
inherits = *PET MMU2*
|
inherits = *PET MMU2*
|
||||||
# alias = Generic PET
|
# alias = Generic PETG
|
||||||
filament_vendor = Generic
|
filament_vendor = Generic
|
||||||
|
|
||||||
[filament:Prusa PET @MMU2]
|
[filament:Plasty Mladec PETG @MMU2]
|
||||||
inherits = *PET MMU2*
|
inherits = *PET MMU2*
|
||||||
# alias = Prusa PET
|
filament_vendor = Plasty Mladec
|
||||||
|
|
||||||
|
[filament:Prusa PETG @MMU2]
|
||||||
|
inherits = *PET MMU2*
|
||||||
|
# alias = Prusa PETG
|
||||||
filament_vendor = Made for Prusa
|
filament_vendor = Made for Prusa
|
||||||
|
|
||||||
[filament:Prusament PETG @MMU2]
|
[filament:Prusament PETG @MMU2]
|
||||||
inherits = *PET MMU2*
|
inherits = *PET MMU2*
|
||||||
filament_type = PETG
|
filament_type = PETG
|
||||||
# alias = Prusament PETG
|
# alias = Prusament PETG
|
||||||
filament_vendor = Prusa Research
|
filament_vendor = Prusa Polymers
|
||||||
|
|
||||||
[filament:Generic PET @MMU2 0.6 nozzle]
|
[filament:Generic PETG @MMU2 0.6 nozzle]
|
||||||
inherits = *PET MMU2 06*
|
inherits = *PET MMU2 06*
|
||||||
# alias = Generic PET
|
# alias = Generic PETG
|
||||||
filament_vendor = Generic
|
filament_vendor = Generic
|
||||||
|
|
||||||
[filament:Prusa PET @MMU2 0.6 nozzle]
|
[filament:Prusa PETG @MMU2 0.6 nozzle]
|
||||||
inherits = *PET MMU2 06*
|
inherits = *PET MMU2 06*
|
||||||
# alias = Prusa PET
|
# alias = Prusa PETG
|
||||||
filament_vendor = Made for Prusa
|
filament_vendor = Made for Prusa
|
||||||
|
|
||||||
[filament:Prusament PETG @MMU2 0.6 nozzle]
|
[filament:Prusament PETG @MMU2 0.6 nozzle]
|
||||||
inherits = *PET MMU2 06*
|
inherits = *PET MMU2 06*
|
||||||
filament_type = PETG
|
filament_type = PETG
|
||||||
# alias = Prusament PETG
|
# alias = Prusament PETG
|
||||||
filament_vendor = Prusa Research
|
filament_vendor = Prusa Polymers
|
||||||
|
|
||||||
|
[filament:Plasty Mladec PETG @MMU2 0.6 nozzle]
|
||||||
|
inherits = *PET MMU2 06*
|
||||||
|
filament_type = PETG
|
||||||
|
# alias = Prusament PETG
|
||||||
|
filament_vendor = Plasty Mladec
|
||||||
|
|
||||||
[filament:Prusa PLA]
|
[filament:Prusa PLA]
|
||||||
inherits = *PLA*
|
inherits = *PLA*
|
||||||
filament_vendor = Made for Prusa
|
filament_vendor = Made for Prusa
|
||||||
filament_cost = 25.4
|
filament_cost = 25.4
|
||||||
filament_density = 1.24
|
filament_density = 1.24
|
||||||
filament_notes = "List of materials tested with standard PLA print settings:\n\nDas Filament\nEsun PLA\nEUMAKERS PLA\nFiberlogy HD-PLA\nFiberlogy PLA\nFloreon3D\nHatchbox PLA\nPlasty Mladec PLA\nPrimavalue PLA\nProto pasta Matte Fiber\nAmazonBasics PLA"
|
|
||||||
|
[filament:Fiberlogy PLA]
|
||||||
|
inherits = *PLA*
|
||||||
|
filament_vendor = Fiberlogy
|
||||||
|
filament_cost = 25.4
|
||||||
|
filament_density = 1.24
|
||||||
|
|
||||||
|
[filament:Plasty Mladec PLA]
|
||||||
|
inherits = *PLA*
|
||||||
|
filament_vendor = Plasty Mladec
|
||||||
|
filament_cost = 25.4
|
||||||
|
filament_density = 1.24
|
||||||
|
|
||||||
|
[filament:AmazonBasics PLA]
|
||||||
|
inherits = *PLA*
|
||||||
|
filament_vendor = AmazonBasics
|
||||||
|
filament_cost = 25.4
|
||||||
|
filament_density = 1.24
|
||||||
|
|
||||||
|
[filament:Hatchbox PLA]
|
||||||
|
inherits = *PLA*
|
||||||
|
filament_vendor = Hatchbox
|
||||||
|
filament_cost = 25.4
|
||||||
|
filament_density = 1.24
|
||||||
|
|
||||||
|
[filament:Esun PLA]
|
||||||
|
inherits = *PLA*
|
||||||
|
filament_vendor = Esun
|
||||||
|
filament_cost = 25.4
|
||||||
|
filament_density = 1.24
|
||||||
|
|
||||||
|
[filament:Das Filament PLA]
|
||||||
|
inherits = *PLA*
|
||||||
|
filament_vendor = Das Filament
|
||||||
|
filament_cost = 25.4
|
||||||
|
filament_density = 1.24
|
||||||
|
|
||||||
|
[filament:EUMAKERS PLA]
|
||||||
|
inherits = *PLA*
|
||||||
|
filament_vendor = EUMAKERS
|
||||||
|
filament_cost = 25.4
|
||||||
|
filament_density = 1.24
|
||||||
|
|
||||||
|
[filament:Floreon3D PLA]
|
||||||
|
inherits = *PLA*
|
||||||
|
filament_vendor = Floreon3D
|
||||||
|
filament_cost = 25.4
|
||||||
|
filament_density = 1.24
|
||||||
|
|
||||||
[filament:Prusament PLA]
|
[filament:Prusament PLA]
|
||||||
inherits = *PLA*
|
inherits = *PLA*
|
||||||
filament_vendor = Prusa Research
|
filament_vendor = Prusa Polymers
|
||||||
temperature = 215
|
temperature = 215
|
||||||
filament_cost = 24.99
|
filament_cost = 24.99
|
||||||
filament_density = 1.24
|
filament_density = 1.24
|
||||||
|
@ -2077,7 +2168,7 @@ filament_vendor = Made for Prusa
|
||||||
|
|
||||||
[filament:Prusament PLA @MMU2]
|
[filament:Prusament PLA @MMU2]
|
||||||
inherits = *PLA MMU2*
|
inherits = *PLA MMU2*
|
||||||
filament_vendor = Prusa Research
|
filament_vendor = Prusa Polymers
|
||||||
|
|
||||||
[filament:SemiFlex or Flexfill 98A]
|
[filament:SemiFlex or Flexfill 98A]
|
||||||
inherits = *FLEX*
|
inherits = *FLEX*
|
||||||
|
@ -2300,7 +2391,7 @@ filament_vendor = E3D
|
||||||
filament_cost = 56.9
|
filament_cost = 56.9
|
||||||
filament_density = 1.26
|
filament_density = 1.26
|
||||||
filament_type = EDGE
|
filament_type = EDGE
|
||||||
filament_notes = "List of manufacturers tested with standard PET print settings:\n\nE3D Edge\nFillamentum CPE GH100\nPlasty Mladec PETG"
|
filament_notes = "List of manufacturers tested with standard PETG print settings:\n\nE3D Edge\nFillamentum CPE GH100\nPlasty Mladec PETG"
|
||||||
|
|
||||||
[filament:Fillamentum CPE @MMU1]
|
[filament:Fillamentum CPE @MMU1]
|
||||||
inherits = *PETMMU1*
|
inherits = *PETMMU1*
|
||||||
|
@ -2315,26 +2406,32 @@ max_fan_speed = 50
|
||||||
min_fan_speed = 50
|
min_fan_speed = 50
|
||||||
temperature = 275
|
temperature = 275
|
||||||
|
|
||||||
[filament:Generic PET @MMU1]
|
[filament:Generic PETG @MMU1]
|
||||||
inherits = *PETMMU1*
|
inherits = *PETMMU1*
|
||||||
# alias = Generic PET
|
# alias = Generic PETG
|
||||||
filament_vendor = Generic
|
filament_vendor = Generic
|
||||||
filament_cost = 27.82
|
filament_cost = 27.82
|
||||||
filament_density = 1.27
|
filament_density = 1.27
|
||||||
filament_notes = "List of manufacturers tested with standard PET print settings:\n\nE3D Edge\nFillamentum CPE GH100\nPlasty Mladec PETG"
|
|
||||||
|
|
||||||
[filament:Prusa PET @MMU1]
|
[filament:Plasty Mladec PETG @MMU1]
|
||||||
inherits = *PETMMU1*
|
inherits = *PETMMU1*
|
||||||
# alias = Prusa PET
|
# alias = Generic PETG
|
||||||
|
filament_vendor = Plasty Mladec
|
||||||
|
filament_cost = 27.82
|
||||||
|
filament_density = 1.27
|
||||||
|
|
||||||
|
[filament:Prusa PETG @MMU1]
|
||||||
|
inherits = *PETMMU1*
|
||||||
|
# alias = Prusa PETG
|
||||||
filament_vendor = Made for Prusa
|
filament_vendor = Made for Prusa
|
||||||
filament_cost = 27.82
|
filament_cost = 27.82
|
||||||
filament_density = 1.27
|
filament_density = 1.27
|
||||||
filament_notes = "List of manufacturers tested with standard PET print settings:\n\nE3D Edge\nPlasty Mladec PETG"
|
filament_notes = "List of manufacturers tested with standard PETG print settings:\n\nE3D Edge\nPlasty Mladec PETG"
|
||||||
|
|
||||||
[filament:Prusament PETG @MMU1]
|
[filament:Prusament PETG @MMU1]
|
||||||
inherits = *PETMMU1*
|
inherits = *PETMMU1*
|
||||||
# alias = Prusament PETG
|
# alias = Prusament PETG
|
||||||
filament_vendor = Prusa Research
|
filament_vendor = Prusa Polymers
|
||||||
first_layer_temperature = 240
|
first_layer_temperature = 240
|
||||||
temperature = 250
|
temperature = 250
|
||||||
filament_cost = 24.99
|
filament_cost = 24.99
|
||||||
|
@ -2381,21 +2478,49 @@ compatible_printers_condition = printer_model=="MK2SMM"
|
||||||
|
|
||||||
## Filaments MINI
|
## Filaments MINI
|
||||||
|
|
||||||
[filament:Generic PET @MINI]
|
[filament:Generic PETG @MINI]
|
||||||
inherits = Generic PET; *PETMINI*
|
inherits = Generic PETG; *PETMINI*
|
||||||
# alias = Generic PET
|
filament_vendor = Generic
|
||||||
|
# alias = Generic PETG
|
||||||
|
filament_cost = 27.82
|
||||||
|
filament_density = 1.27
|
||||||
|
compatible_printers_condition = printer_model=="MINI" and nozzle_diameter[0]!=0.6
|
||||||
|
|
||||||
|
[filament:Plasty Mladec PETG @MINI]
|
||||||
|
inherits = Generic PETG; *PETMINI*
|
||||||
|
filament_vendor = Plasty Mladec
|
||||||
filament_cost = 27.82
|
filament_cost = 27.82
|
||||||
filament_density = 1.27
|
filament_density = 1.27
|
||||||
compatible_printers_condition = printer_model=="MINI" and nozzle_diameter[0]!=0.6
|
compatible_printers_condition = printer_model=="MINI" and nozzle_diameter[0]!=0.6
|
||||||
|
|
||||||
[filament:Generic ABS @MINI]
|
[filament:Generic ABS @MINI]
|
||||||
inherits = Generic ABS; *ABSMINI*
|
inherits = Generic ABS; *ABSMINI*
|
||||||
|
filament_vendor = Generic
|
||||||
# alias = Generic ABS
|
# alias = Generic ABS
|
||||||
filament_cost = 27.82
|
filament_cost = 27.82
|
||||||
filament_density = 1.08
|
filament_density = 1.08
|
||||||
|
|
||||||
|
[filament:Esun ABS @MINI]
|
||||||
|
inherits = Generic ABS; *ABSMINI*
|
||||||
|
filament_vendor = Esun
|
||||||
|
filament_cost = 27.82
|
||||||
|
filament_density = 1.08
|
||||||
|
|
||||||
|
[filament:Hatchbox ABS @MINI]
|
||||||
|
inherits = Generic ABS; *ABSMINI*
|
||||||
|
filament_vendor = Hatchbox
|
||||||
|
filament_cost = 27.82
|
||||||
|
filament_density = 1.08
|
||||||
|
|
||||||
|
[filament:Plasty Mladec ABS @MINI]
|
||||||
|
inherits = Generic ABS; *ABSMINI*
|
||||||
|
filament_vendor = Plasty Mladec
|
||||||
|
filament_cost = 27.82
|
||||||
|
filament_density = 1.08
|
||||||
|
|
||||||
[filament:Prusament PETG @MINI]
|
[filament:Prusament PETG @MINI]
|
||||||
inherits = Prusament PETG; *PETMINI*
|
inherits = Prusament PETG; *PETMINI*
|
||||||
|
filament_vendor = Prusa Polymers
|
||||||
# alias = Prusament PETG
|
# alias = Prusament PETG
|
||||||
first_layer_temperature = 240
|
first_layer_temperature = 240
|
||||||
temperature = 250
|
temperature = 250
|
||||||
|
@ -2411,9 +2536,14 @@ temperature = 250
|
||||||
filament_density = 1.27
|
filament_density = 1.27
|
||||||
filament_cost = 24.99
|
filament_cost = 24.99
|
||||||
|
|
||||||
[filament:Generic PET @0.6 nozzle MINI]
|
[filament:Generic PETG @0.6 nozzle MINI]
|
||||||
inherits = Generic PET; *PETMINI06*
|
inherits = Generic PETG; *PETMINI06*
|
||||||
# alias = Generic PET
|
# alias = Generic PETG
|
||||||
|
|
||||||
|
[filament:Plasty Mladec PETG @0.6 nozzle MINI]
|
||||||
|
inherits = Generic PETG; *PETMINI06*
|
||||||
|
filament_vendor = Plasty Mladec
|
||||||
|
# alias = Generic PETG
|
||||||
|
|
||||||
[filament:Prusament ASA @MINI]
|
[filament:Prusament ASA @MINI]
|
||||||
inherits = Prusament ASA; *ABSMINI*
|
inherits = Prusament ASA; *ABSMINI*
|
||||||
|
@ -2684,17 +2814,17 @@ filament_cost = 56.9
|
||||||
filament_density = 1.26
|
filament_density = 1.26
|
||||||
filament_type = EDGE
|
filament_type = EDGE
|
||||||
|
|
||||||
[filament:Prusa PET @MINI]
|
[filament:Prusa PETG @MINI]
|
||||||
inherits = *PETMINI*
|
inherits = *PETMINI*
|
||||||
# alias = Prusa PET
|
# alias = Prusa PETG
|
||||||
filament_vendor = Made for Prusa
|
filament_vendor = Made for Prusa
|
||||||
filament_cost = 27.82
|
filament_cost = 27.82
|
||||||
filament_density = 1.27
|
filament_density = 1.27
|
||||||
compatible_printers_condition = printer_model=="MINI" and nozzle_diameter[0]!=0.6
|
compatible_printers_condition = printer_model=="MINI" and nozzle_diameter[0]!=0.6
|
||||||
|
|
||||||
[filament:Prusa PET @0.6 nozzle MINI]
|
[filament:Prusa PETG @0.6 nozzle MINI]
|
||||||
inherits = *PETMINI06*
|
inherits = *PETMINI06*
|
||||||
# alias = Prusa PET
|
# alias = Prusa PETG
|
||||||
filament_vendor = Made for Prusa
|
filament_vendor = Made for Prusa
|
||||||
filament_cost = 27.82
|
filament_cost = 27.82
|
||||||
filament_density = 1.27
|
filament_density = 1.27
|
||||||
|
|
|
@ -601,10 +601,11 @@ void stl_remove_unconnected_facets(stl_file *stl)
|
||||||
stl->neighbors_start[facet].which_vertex_not[edge[1]],
|
stl->neighbors_start[facet].which_vertex_not[edge[1]],
|
||||||
stl->neighbors_start[facet].which_vertex_not[edge[2]]
|
stl->neighbors_start[facet].which_vertex_not[edge[2]]
|
||||||
};
|
};
|
||||||
|
|
||||||
// Update statistics on edge connectivity.
|
// Update statistics on edge connectivity.
|
||||||
if (neighbor[0] == -1)
|
if ((neighbor[0] == -1) && (neighbor[1] != -1))
|
||||||
stl_update_connects_remove_1(neighbor[1]);
|
stl_update_connects_remove_1(neighbor[1]);
|
||||||
if (neighbor[1] == -1)
|
if ((neighbor[1] == -1) && (neighbor[0] != -1))
|
||||||
stl_update_connects_remove_1(neighbor[0]);
|
stl_update_connects_remove_1(neighbor[0]);
|
||||||
|
|
||||||
if (neighbor[0] >= 0) {
|
if (neighbor[0] >= 0) {
|
||||||
|
|
|
@ -803,6 +803,7 @@ void GCode::_do_export(Print& print, FILE* file)
|
||||||
// resets time estimators
|
// resets time estimators
|
||||||
m_normal_time_estimator.reset();
|
m_normal_time_estimator.reset();
|
||||||
m_normal_time_estimator.set_dialect(print.config().gcode_flavor);
|
m_normal_time_estimator.set_dialect(print.config().gcode_flavor);
|
||||||
|
m_normal_time_estimator.set_extrusion_axis(print.config().get_extrusion_axis()[0]);
|
||||||
m_silent_time_estimator_enabled = (print.config().gcode_flavor == gcfMarlin) && print.config().silent_mode;
|
m_silent_time_estimator_enabled = (print.config().gcode_flavor == gcfMarlin) && print.config().silent_mode;
|
||||||
|
|
||||||
// Until we have a UI support for the other firmwares than the Marlin, use the hardcoded default values
|
// Until we have a UI support for the other firmwares than the Marlin, use the hardcoded default values
|
||||||
|
@ -832,6 +833,7 @@ void GCode::_do_export(Print& print, FILE* file)
|
||||||
{
|
{
|
||||||
m_silent_time_estimator.reset();
|
m_silent_time_estimator.reset();
|
||||||
m_silent_time_estimator.set_dialect(print.config().gcode_flavor);
|
m_silent_time_estimator.set_dialect(print.config().gcode_flavor);
|
||||||
|
m_silent_time_estimator.set_extrusion_axis(print.config().get_extrusion_axis()[0]);
|
||||||
/* "Stealth mode" values can be just a copy of "normal mode" values
|
/* "Stealth mode" values can be just a copy of "normal mode" values
|
||||||
* (when they aren't input for a printer preset).
|
* (when they aren't input for a printer preset).
|
||||||
* Thus, use back value from values, instead of second one, which could be absent
|
* Thus, use back value from values, instead of second one, which could be absent
|
||||||
|
@ -881,6 +883,9 @@ void GCode::_do_export(Print& print, FILE* file)
|
||||||
}
|
}
|
||||||
m_analyzer.set_extruder_offsets(extruder_offsets);
|
m_analyzer.set_extruder_offsets(extruder_offsets);
|
||||||
|
|
||||||
|
// tell analyzer about the extrusion axis
|
||||||
|
m_analyzer.set_extrusion_axis(print.config().get_extrusion_axis()[0]);
|
||||||
|
|
||||||
// send extruders count to analyzer to allow it to detect invalid extruder idxs
|
// send extruders count to analyzer to allow it to detect invalid extruder idxs
|
||||||
const ConfigOptionStrings* extruders_opt = dynamic_cast<const ConfigOptionStrings*>(print.config().option("extruder_colour"));
|
const ConfigOptionStrings* extruders_opt = dynamic_cast<const ConfigOptionStrings*>(print.config().option("extruder_colour"));
|
||||||
const ConfigOptionStrings* filamemts_opt = dynamic_cast<const ConfigOptionStrings*>(print.config().option("filament_colour"));
|
const ConfigOptionStrings* filamemts_opt = dynamic_cast<const ConfigOptionStrings*>(print.config().option("filament_colour"));
|
||||||
|
|
|
@ -108,16 +108,6 @@ GCodeAnalyzer::GCodeMove::GCodeMove(GCodeMove::EType type, const GCodeAnalyzer::
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
GCodeAnalyzer::GCodeAnalyzer()
|
|
||||||
{
|
|
||||||
reset();
|
|
||||||
}
|
|
||||||
|
|
||||||
void GCodeAnalyzer::set_extruder_offsets(const GCodeAnalyzer::ExtruderOffsetsMap& extruder_offsets)
|
|
||||||
{
|
|
||||||
m_extruder_offsets = extruder_offsets;
|
|
||||||
}
|
|
||||||
|
|
||||||
void GCodeAnalyzer::set_extruders_count(unsigned int count)
|
void GCodeAnalyzer::set_extruders_count(unsigned int count)
|
||||||
{
|
{
|
||||||
m_extruders_count = count;
|
m_extruders_count = count;
|
||||||
|
@ -125,11 +115,6 @@ void GCodeAnalyzer::set_extruders_count(unsigned int count)
|
||||||
m_extruder_color[i] = i;
|
m_extruder_color[i] = i;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GCodeAnalyzer::set_gcode_flavor(const GCodeFlavor& flavor)
|
|
||||||
{
|
|
||||||
m_gcode_flavor = flavor;
|
|
||||||
}
|
|
||||||
|
|
||||||
void GCodeAnalyzer::reset()
|
void GCodeAnalyzer::reset()
|
||||||
{
|
{
|
||||||
_set_units(Millimeters);
|
_set_units(Millimeters);
|
||||||
|
|
|
@ -123,12 +123,14 @@ private:
|
||||||
std::string m_process_output;
|
std::string m_process_output;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
GCodeAnalyzer();
|
GCodeAnalyzer() { reset(); }
|
||||||
|
|
||||||
void set_extruder_offsets(const ExtruderOffsetsMap& extruder_offsets);
|
void set_extruder_offsets(const ExtruderOffsetsMap& extruder_offsets) { m_extruder_offsets = extruder_offsets; }
|
||||||
void set_extruders_count(unsigned int count);
|
void set_extruders_count(unsigned int count);
|
||||||
|
|
||||||
void set_gcode_flavor(const GCodeFlavor& flavor);
|
void set_extrusion_axis(char axis) { m_parser.set_extrusion_axis(axis); }
|
||||||
|
|
||||||
|
void set_gcode_flavor(const GCodeFlavor& flavor) { m_gcode_flavor = flavor; }
|
||||||
|
|
||||||
// Reinitialize the analyzer
|
// Reinitialize the analyzer
|
||||||
void reset();
|
void reset();
|
||||||
|
|
|
@ -119,6 +119,7 @@ public:
|
||||||
float f() const { return m_position[F]; }
|
float f() const { return m_position[F]; }
|
||||||
|
|
||||||
char extrusion_axis() const { return m_extrusion_axis; }
|
char extrusion_axis() const { return m_extrusion_axis; }
|
||||||
|
void set_extrusion_axis(char axis) { m_extrusion_axis = axis; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const char* parse_line_internal(const char *ptr, GCodeLine &gline, std::pair<const char*, const char*> &command);
|
const char* parse_line_internal(const char *ptr, GCodeLine &gline, std::pair<const char*, const char*> &command);
|
||||||
|
|
|
@ -342,6 +342,8 @@ namespace Slic3r {
|
||||||
void increment_g1_line_id();
|
void increment_g1_line_id();
|
||||||
void reset_g1_line_id();
|
void reset_g1_line_id();
|
||||||
|
|
||||||
|
void set_extrusion_axis(char axis) { m_parser.set_extrusion_axis(axis); }
|
||||||
|
|
||||||
void set_extruder_id(unsigned int id);
|
void set_extruder_id(unsigned int id);
|
||||||
unsigned int get_extruder_id() const;
|
unsigned int get_extruder_id() const;
|
||||||
void reset_extruder_id();
|
void reset_extruder_id();
|
||||||
|
|
|
@ -46,4 +46,10 @@
|
||||||
// Enable adaptive layer height profile
|
// Enable adaptive layer height profile
|
||||||
#define ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE (1 && ENABLE_2_2_0_ALPHA1)
|
#define ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE (1 && ENABLE_2_2_0_ALPHA1)
|
||||||
|
|
||||||
|
// Enable grayed variant for gizmos icons in non activable state
|
||||||
|
#define ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE (1 && ENABLE_2_2_0_ALPHA1)
|
||||||
|
|
||||||
|
// Enable fix for view toolbar background not showing up on Mac with dark mode
|
||||||
|
#define ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX (1 && ENABLE_2_2_0_ALPHA1)
|
||||||
|
|
||||||
#endif // _technologies_h_
|
#endif // _technologies_h_
|
||||||
|
|
|
@ -1337,7 +1337,9 @@ void GLCanvas3D::LegendTexture::render(const GLCanvas3D& canvas) const
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if !ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
wxDEFINE_EVENT(EVT_GLCANVAS_INIT, SimpleEvent);
|
wxDEFINE_EVENT(EVT_GLCANVAS_INIT, SimpleEvent);
|
||||||
|
#endif // !ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
wxDEFINE_EVENT(EVT_GLCANVAS_SCHEDULE_BACKGROUND_PROCESS, SimpleEvent);
|
wxDEFINE_EVENT(EVT_GLCANVAS_SCHEDULE_BACKGROUND_PROCESS, SimpleEvent);
|
||||||
wxDEFINE_EVENT(EVT_GLCANVAS_OBJECT_SELECT, SimpleEvent);
|
wxDEFINE_EVENT(EVT_GLCANVAS_OBJECT_SELECT, SimpleEvent);
|
||||||
wxDEFINE_EVENT(EVT_GLCANVAS_RIGHT_CLICK, RBtnEvent);
|
wxDEFINE_EVENT(EVT_GLCANVAS_RIGHT_CLICK, RBtnEvent);
|
||||||
|
@ -1378,7 +1380,6 @@ GLCanvas3D::GLCanvas3D(wxGLCanvas* canvas, Bed3D& bed, Camera& camera, GLToolbar
|
||||||
, m_retina_helper(nullptr)
|
, m_retina_helper(nullptr)
|
||||||
#endif
|
#endif
|
||||||
, m_in_render(false)
|
, m_in_render(false)
|
||||||
, m_render_enabled(true)
|
|
||||||
, m_bed(bed)
|
, m_bed(bed)
|
||||||
, m_camera(camera)
|
, m_camera(camera)
|
||||||
, m_view_toolbar(view_toolbar)
|
, m_view_toolbar(view_toolbar)
|
||||||
|
@ -1508,7 +1509,9 @@ bool GLCanvas3D::init()
|
||||||
if (m_selection.is_enabled() && !m_selection.init())
|
if (m_selection.is_enabled() && !m_selection.init())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
#if !ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
post_event(SimpleEvent(EVT_GLCANVAS_INIT));
|
post_event(SimpleEvent(EVT_GLCANVAS_INIT));
|
||||||
|
#endif // !ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
|
|
||||||
m_initialized = true;
|
m_initialized = true;
|
||||||
|
|
||||||
|
@ -1791,7 +1794,7 @@ void GLCanvas3D::update_volumes_colors_by_extruder()
|
||||||
|
|
||||||
void GLCanvas3D::render()
|
void GLCanvas3D::render()
|
||||||
{
|
{
|
||||||
if (!m_render_enabled || m_in_render)
|
if (m_in_render)
|
||||||
{
|
{
|
||||||
// if called recursively, return
|
// if called recursively, return
|
||||||
m_dirty = true;
|
m_dirty = true;
|
||||||
|
@ -4217,6 +4220,11 @@ bool GLCanvas3D::_init_toolbars()
|
||||||
if (!_init_undoredo_toolbar())
|
if (!_init_undoredo_toolbar())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
#if ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
|
if (!_init_view_toolbar())
|
||||||
|
return false;
|
||||||
|
#endif // ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4474,6 +4482,13 @@ bool GLCanvas3D::_init_undoredo_toolbar()
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
|
bool GLCanvas3D::_init_view_toolbar()
|
||||||
|
{
|
||||||
|
return wxGetApp().plater()->init_view_toolbar();
|
||||||
|
}
|
||||||
|
#endif // ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
|
|
||||||
bool GLCanvas3D::_set_current()
|
bool GLCanvas3D::_set_current()
|
||||||
{
|
{
|
||||||
return m_context != nullptr && m_canvas->SetCurrent(*m_context);
|
return m_context != nullptr && m_canvas->SetCurrent(*m_context);
|
||||||
|
|
|
@ -83,7 +83,9 @@ template <size_t N> using Vec3dsEvent = ArrayEvent<Vec3d, N>;
|
||||||
|
|
||||||
using HeightProfileSmoothEvent = Event<HeightProfileSmoothingParams>;
|
using HeightProfileSmoothEvent = Event<HeightProfileSmoothingParams>;
|
||||||
|
|
||||||
|
#if !ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
wxDECLARE_EVENT(EVT_GLCANVAS_INIT, SimpleEvent);
|
wxDECLARE_EVENT(EVT_GLCANVAS_INIT, SimpleEvent);
|
||||||
|
#endif // !ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
wxDECLARE_EVENT(EVT_GLCANVAS_SCHEDULE_BACKGROUND_PROCESS, SimpleEvent);
|
wxDECLARE_EVENT(EVT_GLCANVAS_SCHEDULE_BACKGROUND_PROCESS, SimpleEvent);
|
||||||
wxDECLARE_EVENT(EVT_GLCANVAS_RIGHT_CLICK, RBtnEvent);
|
wxDECLARE_EVENT(EVT_GLCANVAS_RIGHT_CLICK, RBtnEvent);
|
||||||
wxDECLARE_EVENT(EVT_GLCANVAS_REMOVE_OBJECT, SimpleEvent);
|
wxDECLARE_EVENT(EVT_GLCANVAS_REMOVE_OBJECT, SimpleEvent);
|
||||||
|
@ -417,7 +419,6 @@ private:
|
||||||
std::unique_ptr<RetinaHelper> m_retina_helper;
|
std::unique_ptr<RetinaHelper> m_retina_helper;
|
||||||
#endif
|
#endif
|
||||||
bool m_in_render;
|
bool m_in_render;
|
||||||
bool m_render_enabled;
|
|
||||||
LegendTexture m_legend_texture;
|
LegendTexture m_legend_texture;
|
||||||
WarningTexture m_warning_texture;
|
WarningTexture m_warning_texture;
|
||||||
wxTimer m_timer;
|
wxTimer m_timer;
|
||||||
|
@ -555,9 +556,6 @@ public:
|
||||||
void enable_dynamic_background(bool enable);
|
void enable_dynamic_background(bool enable);
|
||||||
void allow_multisample(bool allow);
|
void allow_multisample(bool allow);
|
||||||
|
|
||||||
void enable_render(bool enable) { m_render_enabled = enable; }
|
|
||||||
bool is_render_enabled() const { return m_render_enabled; }
|
|
||||||
|
|
||||||
void zoom_to_bed();
|
void zoom_to_bed();
|
||||||
void zoom_to_volumes();
|
void zoom_to_volumes();
|
||||||
void zoom_to_selection();
|
void zoom_to_selection();
|
||||||
|
@ -685,6 +683,9 @@ private:
|
||||||
bool _init_toolbars();
|
bool _init_toolbars();
|
||||||
bool _init_main_toolbar();
|
bool _init_main_toolbar();
|
||||||
bool _init_undoredo_toolbar();
|
bool _init_undoredo_toolbar();
|
||||||
|
#if ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
|
bool _init_view_toolbar();
|
||||||
|
#endif // ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
|
|
||||||
bool _set_current();
|
bool _set_current();
|
||||||
void _resize(unsigned int w, unsigned int h);
|
void _resize(unsigned int w, unsigned int h);
|
||||||
|
|
|
@ -293,6 +293,9 @@ public:
|
||||||
|
|
||||||
bool is_any_item_pressed() const;
|
bool is_any_item_pressed() const;
|
||||||
|
|
||||||
|
#if ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
|
unsigned int get_items_count() const { return (unsigned int)m_items.size(); }
|
||||||
|
#endif // ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
int get_item_id(const std::string& name) const;
|
int get_item_id(const std::string& name) const;
|
||||||
|
|
||||||
void force_left_action(int item_id, GLCanvas3D& parent) { do_action(GLToolbarItem::Left, item_id, parent, false); }
|
void force_left_action(int item_id, GLCanvas3D& parent) { do_action(GLToolbarItem::Left, item_id, parent, false); }
|
||||||
|
|
|
@ -466,6 +466,9 @@ void GUI_App::recreate_GUI()
|
||||||
|
|
||||||
dlg.Update(30, _(L("Recreating")) + dots);
|
dlg.Update(30, _(L("Recreating")) + dots);
|
||||||
topwindow->Destroy();
|
topwindow->Destroy();
|
||||||
|
|
||||||
|
// For this moment ConfigWizard is deleted, invalidate it
|
||||||
|
m_wizard = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
dlg.Update(80, _(L("Loading of current presets")) + dots);
|
dlg.Update(80, _(L("Loading of current presets")) + dots);
|
||||||
|
|
|
@ -48,6 +48,13 @@ std::string GLGizmoMove3D::on_get_name() const
|
||||||
return (_(L("Move")) + " [M]").ToUTF8().data();
|
return (_(L("Move")) + " [M]").ToUTF8().data();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE
|
||||||
|
bool GLGizmoMove3D::on_is_activable() const
|
||||||
|
{
|
||||||
|
return !m_parent.get_selection().is_empty();
|
||||||
|
}
|
||||||
|
#endif // ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE
|
||||||
|
|
||||||
void GLGizmoMove3D::on_start_dragging()
|
void GLGizmoMove3D::on_start_dragging()
|
||||||
{
|
{
|
||||||
if (m_hover_id != -1)
|
if (m_hover_id != -1)
|
||||||
|
|
|
@ -33,6 +33,9 @@ public:
|
||||||
protected:
|
protected:
|
||||||
virtual bool on_init();
|
virtual bool on_init();
|
||||||
virtual std::string on_get_name() const;
|
virtual std::string on_get_name() const;
|
||||||
|
#if ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE
|
||||||
|
virtual bool on_is_activable() const;
|
||||||
|
#endif // ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE
|
||||||
virtual void on_start_dragging();
|
virtual void on_start_dragging();
|
||||||
virtual void on_stop_dragging();
|
virtual void on_stop_dragging();
|
||||||
virtual void on_update(const UpdateData& data);
|
virtual void on_update(const UpdateData& data);
|
||||||
|
|
|
@ -449,6 +449,13 @@ std::string GLGizmoRotate3D::on_get_name() const
|
||||||
return (_(L("Rotate")) + " [R]").ToUTF8().data();
|
return (_(L("Rotate")) + " [R]").ToUTF8().data();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE
|
||||||
|
bool GLGizmoRotate3D::on_is_activable() const
|
||||||
|
{
|
||||||
|
return !m_parent.get_selection().is_empty();
|
||||||
|
}
|
||||||
|
#endif // ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE
|
||||||
|
|
||||||
void GLGizmoRotate3D::on_start_dragging()
|
void GLGizmoRotate3D::on_start_dragging()
|
||||||
{
|
{
|
||||||
if ((0 <= m_hover_id) && (m_hover_id < 3))
|
if ((0 <= m_hover_id) && (m_hover_id < 3))
|
||||||
|
|
|
@ -104,6 +104,9 @@ protected:
|
||||||
if (id < 3)
|
if (id < 3)
|
||||||
m_gizmos[id].disable_grabber(0);
|
m_gizmos[id].disable_grabber(0);
|
||||||
}
|
}
|
||||||
|
#if ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE
|
||||||
|
virtual bool on_is_activable() const;
|
||||||
|
#endif // ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE
|
||||||
virtual void on_start_dragging();
|
virtual void on_start_dragging();
|
||||||
virtual void on_stop_dragging();
|
virtual void on_stop_dragging();
|
||||||
virtual void on_update(const UpdateData& data)
|
virtual void on_update(const UpdateData& data)
|
||||||
|
|
|
@ -49,7 +49,12 @@ std::string GLGizmoScale3D::on_get_name() const
|
||||||
|
|
||||||
bool GLGizmoScale3D::on_is_activable() const
|
bool GLGizmoScale3D::on_is_activable() const
|
||||||
{
|
{
|
||||||
|
#if ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE
|
||||||
|
const Selection& selection = m_parent.get_selection();
|
||||||
|
return !selection.is_empty() && !selection.is_wipe_tower();
|
||||||
|
#else
|
||||||
return !m_parent.get_selection().is_wipe_tower();
|
return !m_parent.get_selection().is_wipe_tower();
|
||||||
|
#endif // ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE
|
||||||
}
|
}
|
||||||
|
|
||||||
void GLGizmoScale3D::on_start_dragging()
|
void GLGizmoScale3D::on_start_dragging()
|
||||||
|
|
|
@ -885,7 +885,11 @@ void GLGizmosManager::do_render_overlay() const
|
||||||
GLGizmoBase* gizmo = m_gizmos[idx].get();
|
GLGizmoBase* gizmo = m_gizmos[idx].get();
|
||||||
|
|
||||||
unsigned int sprite_id = gizmo->get_sprite_id();
|
unsigned int sprite_id = gizmo->get_sprite_id();
|
||||||
|
#if ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE
|
||||||
|
int icon_idx = (m_current == idx) ? 2 : ((m_hover == idx) ? 1 : (gizmo->is_activable()? 0 : 3));
|
||||||
|
#else
|
||||||
int icon_idx = m_current == idx ? 2 : (m_hover == idx ? 1 : 0);
|
int icon_idx = m_current == idx ? 2 : (m_hover == idx ? 1 : 0);
|
||||||
|
#endif // ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE
|
||||||
|
|
||||||
float u_icon_size = m_overlay_icons_size * m_overlay_scale * inv_tex_width;
|
float u_icon_size = m_overlay_icons_size * m_overlay_scale * inv_tex_width;
|
||||||
float v_icon_size = m_overlay_icons_size * m_overlay_scale * inv_tex_height;
|
float v_icon_size = m_overlay_icons_size * m_overlay_scale * inv_tex_height;
|
||||||
|
@ -951,9 +955,12 @@ bool GLGizmosManager::generate_icons_texture() const
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<std::pair<int, bool>> states;
|
std::vector<std::pair<int, bool>> states;
|
||||||
states.push_back(std::make_pair(1, false));
|
states.push_back(std::make_pair(1, false)); // Activable
|
||||||
states.push_back(std::make_pair(0, false));
|
states.push_back(std::make_pair(0, false)); // Hovered
|
||||||
states.push_back(std::make_pair(0, true));
|
states.push_back(std::make_pair(0, true)); // Selected
|
||||||
|
#if ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE
|
||||||
|
states.push_back(std::make_pair(2, false)); // Disabled
|
||||||
|
#endif // ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE
|
||||||
|
|
||||||
unsigned int sprite_size_px = (unsigned int)(m_overlay_icons_size * m_overlay_scale);
|
unsigned int sprite_size_px = (unsigned int)(m_overlay_icons_size * m_overlay_scale);
|
||||||
// // force even size
|
// // force even size
|
||||||
|
|
|
@ -129,10 +129,9 @@ MeshRaycaster::MeshRaycaster(const TriangleMesh& mesh)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
MeshRaycaster::~MeshRaycaster()
|
// Define the default destructor here. This is needed for the PIMPL with
|
||||||
{
|
// unique_ptr to work, the AABBWrapper is complete here.
|
||||||
delete m_AABB_wrapper;
|
MeshRaycaster::~MeshRaycaster() = default;
|
||||||
}
|
|
||||||
|
|
||||||
Vec3f MeshRaycaster::AABBWrapper::get_hit_pos(const igl::Hit& hit) const
|
Vec3f MeshRaycaster::AABBWrapper::get_hit_pos(const igl::Hit& hit) const
|
||||||
{
|
{
|
||||||
|
|
|
@ -17,7 +17,7 @@ namespace GUI {
|
||||||
struct Camera;
|
struct Camera;
|
||||||
|
|
||||||
|
|
||||||
|
// lm_FIXME: Following class might possibly be replaced by Eigen::Hyperplane
|
||||||
class ClippingPlane
|
class ClippingPlane
|
||||||
{
|
{
|
||||||
double m_data[4];
|
double m_data[4];
|
||||||
|
@ -67,13 +67,23 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// MeshClipper class cuts a mesh and is able to return a triangulated cut.
|
||||||
class MeshClipper {
|
class MeshClipper {
|
||||||
public:
|
public:
|
||||||
|
// Inform MeshClipper about which plane we want to use to cut the mesh
|
||||||
|
// This is supposed to be in world coordinates.
|
||||||
void set_plane(const ClippingPlane& plane);
|
void set_plane(const ClippingPlane& plane);
|
||||||
|
|
||||||
|
// Which mesh to cut. MeshClipper remembers const * to it, caller
|
||||||
|
// must make sure that it stays valid.
|
||||||
void set_mesh(const TriangleMesh& mesh);
|
void set_mesh(const TriangleMesh& mesh);
|
||||||
|
|
||||||
|
// Inform the MeshClipper about the transformation that transforms the mesh
|
||||||
|
// into world coordinates.
|
||||||
void set_transformation(const Geometry::Transformation& trafo);
|
void set_transformation(const Geometry::Transformation& trafo);
|
||||||
|
|
||||||
|
// Return the triangulated cut. The points are returned directly
|
||||||
|
// in world coordinates.
|
||||||
const std::vector<Vec3f>& get_triangles();
|
const std::vector<Vec3f>& get_triangles();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -90,26 +100,45 @@ private:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// MeshRaycaster class answers queries such as where on the mesh someone clicked,
|
||||||
|
// whether certain points are visible or obscured by the mesh etc.
|
||||||
class MeshRaycaster {
|
class MeshRaycaster {
|
||||||
public:
|
public:
|
||||||
|
// The class saves a const* to the mesh, called is responsible
|
||||||
|
// for making sure it does not get invalid.
|
||||||
MeshRaycaster(const TriangleMesh& mesh);
|
MeshRaycaster(const TriangleMesh& mesh);
|
||||||
|
|
||||||
~MeshRaycaster();
|
~MeshRaycaster();
|
||||||
void set_transformation(const Geometry::Transformation& trafo);
|
|
||||||
void set_camera(const Camera& camera);
|
|
||||||
|
|
||||||
bool unproject_on_mesh(const Vec2d& mouse_pos, const Transform3d& trafo, const Camera& camera,
|
// Given a mouse position, this returns true in case it is on the mesh.
|
||||||
Vec3f& position, Vec3f& normal, const ClippingPlane* clipping_plane = nullptr) const;
|
bool unproject_on_mesh(
|
||||||
|
const Vec2d& mouse_pos,
|
||||||
|
const Transform3d& trafo, // how to get the mesh into world coords
|
||||||
|
const Camera& camera, // current camera position
|
||||||
|
Vec3f& position, // where to save the positibon of the hit (mesh coords)
|
||||||
|
Vec3f& normal, // normal of the triangle that was hit
|
||||||
|
const ClippingPlane* clipping_plane = nullptr // clipping plane (if active)
|
||||||
|
) const;
|
||||||
|
|
||||||
std::vector<unsigned> get_unobscured_idxs(const Geometry::Transformation& trafo, const Camera& camera,
|
// Given a vector of points in woorld coordinates, this returns vector
|
||||||
const std::vector<Vec3f>& points, const ClippingPlane* clipping_plane = nullptr) const;
|
// of indices of points that are visible (i.e. not cut by clipping plane
|
||||||
|
// or obscured by part of the mesh.
|
||||||
|
std::vector<unsigned> get_unobscured_idxs(
|
||||||
|
const Geometry::Transformation& trafo, // how to get the mesh into world coords
|
||||||
|
const Camera& camera, // current camera position
|
||||||
|
const std::vector<Vec3f>& points, // points in world coords
|
||||||
|
const ClippingPlane* clipping_plane = nullptr // clipping plane (if active)
|
||||||
|
) const;
|
||||||
|
|
||||||
|
// Given a point in world coords, the method returns closest point on the mesh.
|
||||||
|
// The output is in mesh coords.
|
||||||
|
// normal* can be used to also get normal of the respective triangle.
|
||||||
Vec3f get_closest_point(const Vec3f& point, Vec3f* normal = nullptr) const;
|
Vec3f get_closest_point(const Vec3f& point, Vec3f* normal = nullptr) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// PIMPL wrapper around igl::AABB so I don't have to include the header-only IGL here
|
// PIMPL wrapper around igl::AABB so I don't have to include the header-only IGL here
|
||||||
class AABBWrapper;
|
class AABBWrapper;
|
||||||
AABBWrapper* m_AABB_wrapper;
|
std::unique_ptr<AABBWrapper> m_AABB_wrapper;
|
||||||
const TriangleMesh* m_mesh = nullptr;
|
const TriangleMesh* m_mesh = nullptr;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1819,6 +1819,10 @@ struct Plater::priv
|
||||||
bool is_preview_loaded() const { return preview->is_loaded(); }
|
bool is_preview_loaded() const { return preview->is_loaded(); }
|
||||||
bool is_view3D_shown() const { return current_panel == view3D; }
|
bool is_view3D_shown() const { return current_panel == view3D; }
|
||||||
|
|
||||||
|
#if ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
|
bool init_view_toolbar();
|
||||||
|
#endif // ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
|
|
||||||
void reset_all_gizmos();
|
void reset_all_gizmos();
|
||||||
void update_ui_from_settings();
|
void update_ui_from_settings();
|
||||||
ProgressStatusBar* statusbar();
|
ProgressStatusBar* statusbar();
|
||||||
|
@ -1964,7 +1968,9 @@ private:
|
||||||
bool complit_init_object_menu();
|
bool complit_init_object_menu();
|
||||||
bool complit_init_sla_object_menu();
|
bool complit_init_sla_object_menu();
|
||||||
bool complit_init_part_menu();
|
bool complit_init_part_menu();
|
||||||
|
#if !ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
void init_view_toolbar();
|
void init_view_toolbar();
|
||||||
|
#endif // !ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
|
|
||||||
bool can_split() const;
|
bool can_split() const;
|
||||||
bool layers_height_allowed() const;
|
bool layers_height_allowed() const;
|
||||||
|
@ -2116,7 +2122,9 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame)
|
||||||
view3D_canvas->Bind(EVT_GLTOOLBAR_SPLIT_OBJECTS, &priv::on_action_split_objects, this);
|
view3D_canvas->Bind(EVT_GLTOOLBAR_SPLIT_OBJECTS, &priv::on_action_split_objects, this);
|
||||||
view3D_canvas->Bind(EVT_GLTOOLBAR_SPLIT_VOLUMES, &priv::on_action_split_volumes, this);
|
view3D_canvas->Bind(EVT_GLTOOLBAR_SPLIT_VOLUMES, &priv::on_action_split_volumes, this);
|
||||||
view3D_canvas->Bind(EVT_GLTOOLBAR_LAYERSEDITING, &priv::on_action_layersediting, this);
|
view3D_canvas->Bind(EVT_GLTOOLBAR_LAYERSEDITING, &priv::on_action_layersediting, this);
|
||||||
|
#if !ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
view3D_canvas->Bind(EVT_GLCANVAS_INIT, [this](SimpleEvent&) { init_view_toolbar(); });
|
view3D_canvas->Bind(EVT_GLCANVAS_INIT, [this](SimpleEvent&) { init_view_toolbar(); });
|
||||||
|
#endif // !ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
view3D_canvas->Bind(EVT_GLCANVAS_UPDATE_BED_SHAPE, [this](SimpleEvent&)
|
view3D_canvas->Bind(EVT_GLCANVAS_UPDATE_BED_SHAPE, [this](SimpleEvent&)
|
||||||
{
|
{
|
||||||
set_bed_shape(config->option<ConfigOptionPoints>("bed_shape")->values,
|
set_bed_shape(config->option<ConfigOptionPoints>("bed_shape")->values,
|
||||||
|
@ -3221,7 +3229,6 @@ void Plater::priv::reload_from_disk()
|
||||||
catch (std::exception&)
|
catch (std::exception&)
|
||||||
{
|
{
|
||||||
// error while loading
|
// error while loading
|
||||||
view3D->get_canvas3d()->enable_render(true);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3833,8 +3840,18 @@ bool Plater::priv::complit_init_part_menu()
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
|
bool Plater::priv::init_view_toolbar()
|
||||||
|
#else
|
||||||
void Plater::priv::init_view_toolbar()
|
void Plater::priv::init_view_toolbar()
|
||||||
|
#endif //!ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
{
|
{
|
||||||
|
#if ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
|
if (view_toolbar.get_items_count() > 0)
|
||||||
|
// already initialized
|
||||||
|
return true;
|
||||||
|
#endif // ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
|
|
||||||
BackgroundTexture::Metadata background_data;
|
BackgroundTexture::Metadata background_data;
|
||||||
background_data.filename = "toolbar_background.png";
|
background_data.filename = "toolbar_background.png";
|
||||||
background_data.left = 16;
|
background_data.left = 16;
|
||||||
|
@ -3843,7 +3860,11 @@ void Plater::priv::init_view_toolbar()
|
||||||
background_data.bottom = 16;
|
background_data.bottom = 16;
|
||||||
|
|
||||||
if (!view_toolbar.init(background_data))
|
if (!view_toolbar.init(background_data))
|
||||||
|
#if ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
|
return false;
|
||||||
|
#else
|
||||||
return;
|
return;
|
||||||
|
#endif // ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
|
|
||||||
view_toolbar.set_horizontal_orientation(GLToolbar::Layout::HO_Left);
|
view_toolbar.set_horizontal_orientation(GLToolbar::Layout::HO_Left);
|
||||||
view_toolbar.set_vertical_orientation(GLToolbar::Layout::VO_Bottom);
|
view_toolbar.set_vertical_orientation(GLToolbar::Layout::VO_Bottom);
|
||||||
|
@ -3858,7 +3879,11 @@ void Plater::priv::init_view_toolbar()
|
||||||
item.sprite_id = 0;
|
item.sprite_id = 0;
|
||||||
item.left.action_callback = [this]() { if (this->q != nullptr) wxPostEvent(this->q, SimpleEvent(EVT_GLVIEWTOOLBAR_3D)); };
|
item.left.action_callback = [this]() { if (this->q != nullptr) wxPostEvent(this->q, SimpleEvent(EVT_GLVIEWTOOLBAR_3D)); };
|
||||||
if (!view_toolbar.add_item(item))
|
if (!view_toolbar.add_item(item))
|
||||||
|
#if ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
|
return false;
|
||||||
|
#else
|
||||||
return;
|
return;
|
||||||
|
#endif // ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
|
|
||||||
item.name = "Preview";
|
item.name = "Preview";
|
||||||
item.icon_filename = "preview.svg";
|
item.icon_filename = "preview.svg";
|
||||||
|
@ -3866,10 +3891,18 @@ void Plater::priv::init_view_toolbar()
|
||||||
item.sprite_id = 1;
|
item.sprite_id = 1;
|
||||||
item.left.action_callback = [this]() { if (this->q != nullptr) wxPostEvent(this->q, SimpleEvent(EVT_GLVIEWTOOLBAR_PREVIEW)); };
|
item.left.action_callback = [this]() { if (this->q != nullptr) wxPostEvent(this->q, SimpleEvent(EVT_GLVIEWTOOLBAR_PREVIEW)); };
|
||||||
if (!view_toolbar.add_item(item))
|
if (!view_toolbar.add_item(item))
|
||||||
|
#if ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
|
return false;
|
||||||
|
#else
|
||||||
return;
|
return;
|
||||||
|
#endif // ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
|
|
||||||
view_toolbar.select_item("3D");
|
view_toolbar.select_item("3D");
|
||||||
view_toolbar.set_enabled(true);
|
view_toolbar.set_enabled(true);
|
||||||
|
|
||||||
|
#if ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
|
return true;
|
||||||
|
#endif // ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Plater::priv::can_set_instance_to_object() const
|
bool Plater::priv::can_set_instance_to_object() const
|
||||||
|
@ -5242,6 +5275,13 @@ void Plater::msw_rescale()
|
||||||
GetParent()->Layout();
|
GetParent()->Layout();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
|
bool Plater::init_view_toolbar()
|
||||||
|
{
|
||||||
|
return p->init_view_toolbar();
|
||||||
|
}
|
||||||
|
#endif // ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
|
|
||||||
const Camera& Plater::get_camera() const
|
const Camera& Plater::get_camera() const
|
||||||
{
|
{
|
||||||
return p->camera;
|
return p->camera;
|
||||||
|
|
|
@ -261,6 +261,10 @@ public:
|
||||||
|
|
||||||
void msw_rescale();
|
void msw_rescale();
|
||||||
|
|
||||||
|
#if ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
|
bool init_view_toolbar();
|
||||||
|
#endif // ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX
|
||||||
|
|
||||||
const Camera& get_camera() const;
|
const Camera& get_camera() const;
|
||||||
const Mouse3DController& get_mouse3d_controller() const;
|
const Mouse3DController& get_mouse3d_controller() const;
|
||||||
Mouse3DController& get_mouse3d_controller();
|
Mouse3DController& get_mouse3d_controller();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue