mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-24 07:03:56 -06:00
Merge remote-tracking branch 'upstream/master' into mb-anchor-skin-in-infill
This commit is contained in:
commit
9555a64ab1
141 changed files with 54969 additions and 1262 deletions
84
resources/definitions/abax_pri3.def.json
Normal file
84
resources/definitions/abax_pri3.def.json
Normal file
|
@ -0,0 +1,84 @@
|
|||
{
|
||||
"id": "PRi3",
|
||||
"name": "ABAX PRi3",
|
||||
"version": 2,
|
||||
"inherits": "fdmprinter",
|
||||
"metadata": {
|
||||
"visible": true,
|
||||
"author": "ABAX 3d Technologies",
|
||||
"manufacturer": "ABAX 3d Technologies",
|
||||
"category": "Other",
|
||||
"file_formats": "text/x-gcode"
|
||||
},
|
||||
"overrides": {
|
||||
"machine_start_gcode": {
|
||||
"default_value": "; -- START GCODE --\nG21 ;set units to millimetres\nG90 ;set to absolute positioning\nM106 S0 ;set fan speed to zero (turned off)\nG28 X0 Y0 ;move to the X/Y origin (Home)\nG28 Z0 ;move to the Z origin (Home)\nG1 Z5.0 F200 ;move Z to position 5.0 mm\nG92 E0 ;zero the extruded length\n; -- end of START GCODE --"
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "; -- END GCODE --\nM104 S0 ;set extruder temperature to zero (turned off)\nM140 S0 ;set temp of bed to Zero \nG91 ;set to relative positioning\nG1 E-10 F300 ;retract the filament a bit to release some of the pressure\nG1 F2000 X0 Y215 ;move X to min and Y to max \nG90 ;set to absolute positioning\nM84 ;turn off steppers\n; -- end of END GCODE --"
|
||||
},
|
||||
"machine_width": {
|
||||
"default_value": 225
|
||||
},
|
||||
"machine_depth": {
|
||||
"default_value": 220
|
||||
},
|
||||
"machine_height": {
|
||||
"default_value": 200
|
||||
},
|
||||
"machine_heated_bed": {
|
||||
"default_value": false
|
||||
},
|
||||
"machine_center_is_zero": {
|
||||
"default_value": false
|
||||
},
|
||||
"machine_gcode_flavor": {
|
||||
"default_value": "RepRap"
|
||||
},
|
||||
"layer_height": {
|
||||
"default_value": 0.2
|
||||
},
|
||||
"layer_height_0": {
|
||||
"default_value": 0.2
|
||||
},
|
||||
"wall_thickness": {
|
||||
"default_value": 1
|
||||
},
|
||||
"top_bottom_thickness": {
|
||||
"default_value": 1
|
||||
},
|
||||
"bottom_thickness": {
|
||||
"default_value": 1
|
||||
},
|
||||
"material_print_temperature": {
|
||||
"default_value": 200
|
||||
},
|
||||
"material_bed_temperature": {
|
||||
"default_value": 0
|
||||
},
|
||||
"material_diameter": {
|
||||
"default_value": 1.75
|
||||
},
|
||||
"speed_print": {
|
||||
"default_value": 40
|
||||
},
|
||||
"speed_infill": {
|
||||
"default_value": 70
|
||||
},
|
||||
"speed_wall": {
|
||||
"default_value": 25
|
||||
},
|
||||
"speed_topbottom": {
|
||||
"default_value": 15
|
||||
},
|
||||
"speed_travel": {
|
||||
"default_value": 150
|
||||
},
|
||||
"speed_layer_0": {
|
||||
"default_value": 30
|
||||
},
|
||||
"support_enable": {
|
||||
"default_value": true
|
||||
}
|
||||
}
|
||||
}
|
84
resources/definitions/abax_pri5.def.json
Normal file
84
resources/definitions/abax_pri5.def.json
Normal file
|
@ -0,0 +1,84 @@
|
|||
{
|
||||
"id": "PRi5",
|
||||
"name": "ABAX PRi5",
|
||||
"version": 2,
|
||||
"inherits": "fdmprinter",
|
||||
"metadata": {
|
||||
"visible": true,
|
||||
"author": "ABAX 3d Technologies",
|
||||
"manufacturer": "ABAX 3d Technologies",
|
||||
"category": "Other",
|
||||
"file_formats": "text/x-gcode"
|
||||
},
|
||||
"overrides": {
|
||||
"machine_start_gcode": {
|
||||
"default_value": "; -- START GCODE --\nG21 ;set units to millimetres\nG90 ;set to absolute positioning\nM106 S0 ;set fan speed to zero (turned off)\nG28 X0 Y0 ;move to the X/Y origin (Home)\nG28 Z0 ;move to the Z origin (Home)\nG1 Z5.0 F200 ;move Z to position 5.0 mm\nG92 E0 ;zero the extruded length\n; -- end of START GCODE --"
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "; -- END GCODE --\nM104 S0 ;set extruder temperature to zero (turned off)\nM140 S0 ;set temp of bed to Zero \nG91 ;set to relative positioning\nG1 E-10 F300 ;retract the filament a bit to release some of the pressure\nG1 F2000 X0 Y300 ;move X to min and Y to max \nG90 ;set to absolute positioning\nM84 ;turn off steppers\n; -- end of END GCODE --"
|
||||
},
|
||||
"machine_width": {
|
||||
"default_value": 310
|
||||
},
|
||||
"machine_depth": {
|
||||
"default_value": 310
|
||||
},
|
||||
"machine_height": {
|
||||
"default_value": 300
|
||||
},
|
||||
"machine_heated_bed": {
|
||||
"default_value": false
|
||||
},
|
||||
"machine_center_is_zero": {
|
||||
"default_value": false
|
||||
},
|
||||
"machine_gcode_flavor": {
|
||||
"default_value": "RepRap"
|
||||
},
|
||||
"layer_height": {
|
||||
"default_value": 0.2
|
||||
},
|
||||
"layer_height_0": {
|
||||
"default_value": 0.2
|
||||
},
|
||||
"wall_thickness": {
|
||||
"default_value": 1
|
||||
},
|
||||
"top_bottom_thickness": {
|
||||
"default_value": 1
|
||||
},
|
||||
"bottom_thickness": {
|
||||
"default_value": 1
|
||||
},
|
||||
"material_print_temperature": {
|
||||
"default_value": 200
|
||||
},
|
||||
"material_bed_temperature": {
|
||||
"default_value": 0
|
||||
},
|
||||
"material_diameter": {
|
||||
"default_value": 1.75
|
||||
},
|
||||
"speed_print": {
|
||||
"default_value": 40
|
||||
},
|
||||
"speed_infill": {
|
||||
"default_value": 70
|
||||
},
|
||||
"speed_wall": {
|
||||
"default_value": 25
|
||||
},
|
||||
"speed_topbottom": {
|
||||
"default_value": 15
|
||||
},
|
||||
"speed_travel": {
|
||||
"default_value": 150
|
||||
},
|
||||
"speed_layer_0": {
|
||||
"default_value": 30
|
||||
},
|
||||
"support_enable": {
|
||||
"default_value": true
|
||||
}
|
||||
}
|
||||
}
|
84
resources/definitions/abax_titan.def.json
Normal file
84
resources/definitions/abax_titan.def.json
Normal file
|
@ -0,0 +1,84 @@
|
|||
{
|
||||
"id": "Titan",
|
||||
"name": "ABAX Titan",
|
||||
"version": 2,
|
||||
"inherits": "fdmprinter",
|
||||
"metadata": {
|
||||
"visible": true,
|
||||
"author": "ABAX 3d Technologies",
|
||||
"manufacturer": "ABAX 3d Technologies",
|
||||
"category": "Other",
|
||||
"file_formats": "text/x-gcode"
|
||||
},
|
||||
"overrides": {
|
||||
"machine_start_gcode": {
|
||||
"default_value": "; -- START GCODE --\nG21 ;set units to millimetres\nG90 ;set to absolute positioning\nM106 S0 ;set fan speed to zero (turned off)\nG28 X0 Y0 ;move to the X/Y origin (Home)\nG28 Z0 ;move to the Z origin (Home)\nG1 Z5.0 F200 ;move Z to position 5.0 mm\nG92 E0 ;zero the extruded length\n; -- end of START GCODE --"
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "; -- END GCODE --\nM104 S0 ;set extruder temperature to zero (turned off)\nM140 S0 ;set temp of bed to Zero \nG91 ;set to relative positioning\nG1 E-10 F300 ;retract the filament a bit to release some of the pressure\nG1 F2000 X0 Y300 ;move X to min and Y to max \nG90 ;set to absolute positioning\nM84 ;turn off steppers\n; -- end of END GCODE --"
|
||||
},
|
||||
"machine_width": {
|
||||
"default_value": 310
|
||||
},
|
||||
"machine_depth": {
|
||||
"default_value": 310
|
||||
},
|
||||
"machine_height": {
|
||||
"default_value": 300
|
||||
},
|
||||
"machine_heated_bed": {
|
||||
"default_value": false
|
||||
},
|
||||
"machine_center_is_zero": {
|
||||
"default_value": false
|
||||
},
|
||||
"machine_gcode_flavor": {
|
||||
"default_value": "RepRap"
|
||||
},
|
||||
"layer_height": {
|
||||
"default_value": 0.2
|
||||
},
|
||||
"layer_height_0": {
|
||||
"default_value": 0.2
|
||||
},
|
||||
"wall_thickness": {
|
||||
"default_value": 1
|
||||
},
|
||||
"top_bottom_thickness": {
|
||||
"default_value": 1
|
||||
},
|
||||
"bottom_thickness": {
|
||||
"default_value": 1
|
||||
},
|
||||
"material_print_temperature": {
|
||||
"default_value": 200
|
||||
},
|
||||
"material_bed_temperature": {
|
||||
"default_value": 0
|
||||
},
|
||||
"material_diameter": {
|
||||
"default_value": 1.75
|
||||
},
|
||||
"speed_print": {
|
||||
"default_value": 40
|
||||
},
|
||||
"speed_infill": {
|
||||
"default_value": 70
|
||||
},
|
||||
"speed_wall": {
|
||||
"default_value": 25
|
||||
},
|
||||
"speed_topbottom": {
|
||||
"default_value": 15
|
||||
},
|
||||
"speed_travel": {
|
||||
"default_value": 150
|
||||
},
|
||||
"speed_layer_0": {
|
||||
"default_value": 30
|
||||
},
|
||||
"support_enable": {
|
||||
"default_value": true
|
||||
}
|
||||
}
|
||||
}
|
|
@ -9,7 +9,6 @@
|
|||
"manufacturer": "Cartesio bv",
|
||||
"category": "Other",
|
||||
"file_formats": "text/x-gcode",
|
||||
"has_materials": true,
|
||||
"has_machine_materials": true,
|
||||
"has_variants": true,
|
||||
"variants_name": "Nozzle size",
|
||||
|
@ -31,12 +30,11 @@
|
|||
"machine_heated_bed": { "default_value": true },
|
||||
"machine_center_is_zero": { "default_value": false },
|
||||
"machine_height": { "default_value": 400 },
|
||||
"machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" },
|
||||
"machine_depth": { "default_value": 270 },
|
||||
"machine_width": { "default_value": 430 },
|
||||
"machine_name": { "default_value": "Cartesio" },
|
||||
"machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" },
|
||||
"machine_start_gcode": {
|
||||
"default_value": "M92 E162\nG21\nG90\nM42 S255 P13;chamber lights\nM42 S255 P12;fume extraction\nM140 S{material_bed_temperature}\n\nM117 Homing Y ......\nG28 Y\nM117 Homing X ......\nG28 X\nM117 Homing Z ......\nG28 Z F100\nG1 Z10 F600\nG1 X70 Y20 F9000;go to wipe point\n\nM190 S{material_bed_temperature}\nM104 S120 T1\nM109 S{material_print_temperature} T0\nM104 S21 T1\n\nM117 purging nozzle....\n\nT0\nG92 E0;set E\nG1 E10 F100\nG92 E0\nG1 E-{retraction_amount} F600\nG92 E0\n\nM117 wiping nozzle....\n\nG1 X1 Y24 F3000\nG1 X70 F9000\n\nM117 Printing .....\n\nG1 E1 F100\nG92 E-1\n"
|
||||
"default_value": "M92 E159\nG21\nG90\nM42 S255 P13;chamber lights\nM42 S255 P12;fume extraction\nM140 S{material_bed_temperature}\n\nM117 Homing Y ......\nG28 Y\nM117 Homing X ......\nG28 X\nM117 Homing Z ......\nG28 Z F100\nG1 Z10 F600\nG1 X70 Y20 F9000;go to wipe point\n\nM190 S{material_bed_temperature}\nM104 S120 T1\nM109 S{material_print_temperature} T0\nM104 S21 T1\n\nM117 purging nozzle....\n\nT0\nG92 E0;set E\nG1 E10 F100\nG92 E0\nG1 E-{retraction_amount} F600\nG92 E0\n\nM117 wiping nozzle....\n\nG1 X1 Y24 F3000\nG1 X70 F9000\n\nM117 Printing .....\n\nG1 E1 F100\nG92 E-1\n"
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "; -- END GCODE --\nM106 S255\nM140 S5\nM104 S5 T0\nM104 S5 T1\nG1 X20.0 Y260.0 F6000\nG4 S7\nM84\nG4 S90\nM107\nM42 P12 S0\nM42 P13 S0\nM84\n; -- end of END GCODE --"
|
||||
|
|
|
@ -219,8 +219,11 @@
|
|||
{
|
||||
"label": "Nozzle angle",
|
||||
"description": "The angle between the horizontal plane and the conical part right above the tip of the nozzle.",
|
||||
"default_value": 45,
|
||||
"unit": "°",
|
||||
"type": "int",
|
||||
"default_value": 45,
|
||||
"maximum_value": "89",
|
||||
"minimum_value": "1",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": false,
|
||||
"settable_per_meshgroup": false
|
||||
|
@ -615,7 +618,7 @@
|
|||
"label": "Line Width",
|
||||
"description": "Width of a single line. Generally, the width of each line should correspond to the width of the nozzle. However, slightly reducing this value could produce better prints.",
|
||||
"unit": "mm",
|
||||
"minimum_value": "0.0001",
|
||||
"minimum_value": "0.001",
|
||||
"minimum_value_warning": "0.5 * machine_nozzle_size",
|
||||
"maximum_value_warning": "2 * machine_nozzle_size",
|
||||
"default_value": 0.4,
|
||||
|
@ -629,7 +632,7 @@
|
|||
"label": "Wall Line Width",
|
||||
"description": "Width of a single wall line.",
|
||||
"unit": "mm",
|
||||
"minimum_value": "0.0001",
|
||||
"minimum_value": "0.001",
|
||||
"minimum_value_warning": "0.75 * machine_nozzle_size",
|
||||
"maximum_value_warning": "2 * machine_nozzle_size",
|
||||
"value": "line_width",
|
||||
|
@ -643,7 +646,7 @@
|
|||
"label": "Outer Wall Line Width",
|
||||
"description": "Width of the outermost wall line. By lowering this value, higher levels of detail can be printed.",
|
||||
"unit": "mm",
|
||||
"minimum_value": "0.0001",
|
||||
"minimum_value": "0.001",
|
||||
"minimum_value_warning": "0.75 * machine_nozzle_size if outer_inset_first else 0.1 * machine_nozzle_size",
|
||||
"maximum_value_warning": "2 * machine_nozzle_size",
|
||||
"default_value": 0.4,
|
||||
|
@ -656,7 +659,7 @@
|
|||
"label": "Inner Wall(s) Line Width",
|
||||
"description": "Width of a single wall line for all wall lines except the outermost one.",
|
||||
"unit": "mm",
|
||||
"minimum_value": "0.0001",
|
||||
"minimum_value": "0.001",
|
||||
"minimum_value_warning": "0.5 * machine_nozzle_size",
|
||||
"maximum_value_warning": "2 * machine_nozzle_size",
|
||||
"default_value": 0.4,
|
||||
|
@ -671,7 +674,7 @@
|
|||
"label": "Top/Bottom Line Width",
|
||||
"description": "Width of a single top/bottom line.",
|
||||
"unit": "mm",
|
||||
"minimum_value": "0.0001",
|
||||
"minimum_value": "0.001",
|
||||
"minimum_value_warning": "0.1 * machine_nozzle_size",
|
||||
"maximum_value_warning": "2 * machine_nozzle_size",
|
||||
"default_value": 0.4,
|
||||
|
@ -684,7 +687,7 @@
|
|||
"label": "Infill Line Width",
|
||||
"description": "Width of a single infill line.",
|
||||
"unit": "mm",
|
||||
"minimum_value": "0.0001",
|
||||
"minimum_value": "0.001",
|
||||
"minimum_value_warning": "0.75 * machine_nozzle_size",
|
||||
"maximum_value_warning": "3 * machine_nozzle_size",
|
||||
"default_value": 0.4,
|
||||
|
@ -698,7 +701,7 @@
|
|||
"label": "Skirt/Brim Line Width",
|
||||
"description": "Width of a single skirt or brim line.",
|
||||
"unit": "mm",
|
||||
"minimum_value": "0.0001",
|
||||
"minimum_value": "0.001",
|
||||
"minimum_value_warning": "0.75 * machine_nozzle_size",
|
||||
"maximum_value_warning": "3 * machine_nozzle_size",
|
||||
"default_value": 0.4,
|
||||
|
@ -713,7 +716,7 @@
|
|||
"label": "Support Line Width",
|
||||
"description": "Width of a single support structure line.",
|
||||
"unit": "mm",
|
||||
"minimum_value": "0.0001",
|
||||
"minimum_value": "0.001",
|
||||
"minimum_value_warning": "0.75 * machine_nozzle_size",
|
||||
"maximum_value_warning": "3 * machine_nozzle_size",
|
||||
"default_value": 0.4,
|
||||
|
@ -730,7 +733,7 @@
|
|||
"description": "Width of a single support interface line.",
|
||||
"unit": "mm",
|
||||
"default_value": 0.4,
|
||||
"minimum_value": "0.0001",
|
||||
"minimum_value": "0.001",
|
||||
"minimum_value_warning": "0.4 * machine_nozzle_size",
|
||||
"maximum_value_warning": "2 * machine_nozzle_size",
|
||||
"type": "float",
|
||||
|
@ -749,7 +752,7 @@
|
|||
"enabled": "resolveOrValue('prime_tower_enable')",
|
||||
"default_value": 0.4,
|
||||
"value": "line_width",
|
||||
"minimum_value": "0.0001",
|
||||
"minimum_value": "0.001",
|
||||
"minimum_value_warning": "0.75 * machine_nozzle_size",
|
||||
"maximum_value_warning": "2 * machine_nozzle_size",
|
||||
"settable_per_mesh": false,
|
||||
|
@ -1330,14 +1333,14 @@
|
|||
"material_print_temperature":
|
||||
{
|
||||
"label": "Printing Temperature",
|
||||
"description": "The temperature used for printing. Set at 0 to pre-heat the printer manually.",
|
||||
"description": "The temperature used for printing. If this is 0, the extruder will not heat up for this print.",
|
||||
"unit": "°C",
|
||||
"type": "float",
|
||||
"default_value": 210,
|
||||
"value": "default_material_print_temperature",
|
||||
"minimum_value": "-273.15",
|
||||
"minimum_value_warning": "0",
|
||||
"maximum_value_warning": "260",
|
||||
"maximum_value_warning": "270",
|
||||
"enabled": "not (material_flow_dependent_temperature) and machine_gcode_flavor != \"UltiGCode\"",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true
|
||||
|
@ -1349,10 +1352,10 @@
|
|||
"unit": "°C",
|
||||
"type": "float",
|
||||
"default_value": 215,
|
||||
"value": "material_print_temperature + 5",
|
||||
"value": "material_print_temperature",
|
||||
"minimum_value": "-273.15",
|
||||
"minimum_value_warning": "0",
|
||||
"maximum_value_warning": "260",
|
||||
"maximum_value_warning": "270",
|
||||
"enabled": "machine_gcode_flavor != \"UltiGCode\"",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true
|
||||
|
@ -1417,7 +1420,7 @@
|
|||
"material_bed_temperature":
|
||||
{
|
||||
"label": "Build Plate Temperature",
|
||||
"description": "The temperature used for the heated build plate. Set at 0 to pre-heat the printer manually.",
|
||||
"description": "The temperature used for the heated build plate. If this is 0, the bed will not heat up for this print.",
|
||||
"unit": "°C",
|
||||
"type": "float",
|
||||
"resolve": "max(extruderValues('material_bed_temperature'))",
|
||||
|
@ -3402,7 +3405,7 @@
|
|||
"type": "float",
|
||||
"default_value": 0.4,
|
||||
"value": "line_width",
|
||||
"minimum_value": "0.0001",
|
||||
"minimum_value": "0.001",
|
||||
"minimum_value_warning": "extruderValue(adhesion_extruder_nr, 'machine_nozzle_size') * 0.1",
|
||||
"maximum_value_warning": "extruderValue(adhesion_extruder_nr, 'machine_nozzle_size') * 2",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
|
@ -3417,7 +3420,7 @@
|
|||
"unit": "mm",
|
||||
"type": "float",
|
||||
"default_value": 0.4,
|
||||
"minimum_value": "0.0001",
|
||||
"minimum_value": "0",
|
||||
"minimum_value_warning": "extruderValue(adhesion_extruder_nr, 'raft_surface_line_width')",
|
||||
"maximum_value_warning": "extruderValue(adhesion_extruder_nr, 'raft_surface_line_width') * 3",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
|
@ -3450,7 +3453,7 @@
|
|||
"type": "float",
|
||||
"default_value": 0.7,
|
||||
"value": "line_width * 2",
|
||||
"minimum_value": "0.0001",
|
||||
"minimum_value": "0.001",
|
||||
"minimum_value_warning": "extruderValue(adhesion_extruder_nr, 'machine_nozzle_size') * 0.5",
|
||||
"maximum_value_warning": "extruderValue(adhesion_extruder_nr, 'machine_nozzle_size') * 3",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
|
@ -3497,7 +3500,7 @@
|
|||
"unit": "mm",
|
||||
"type": "float",
|
||||
"default_value": 0.8,
|
||||
"minimum_value": "0.0001",
|
||||
"minimum_value": "0.001",
|
||||
"value": "extruderValue(adhesion_extruder_nr, 'machine_nozzle_size') * 2",
|
||||
"minimum_value_warning": "extruderValue(adhesion_extruder_nr, 'machine_nozzle_size') * 0.5",
|
||||
"maximum_value_warning": "extruderValue(adhesion_extruder_nr, 'machine_nozzle_size') * 3",
|
||||
|
@ -3514,7 +3517,7 @@
|
|||
"type": "float",
|
||||
"default_value": 1.6,
|
||||
"value": "raft_base_line_width * 2",
|
||||
"minimum_value": "0.0001",
|
||||
"minimum_value": "0",
|
||||
"minimum_value_warning": "extruderValue(adhesion_extruder_nr, 'raft_base_line_width')",
|
||||
"maximum_value_warning": "100",
|
||||
"enabled": "resolveOrValue('adhesion_type') == 'raft'",
|
||||
|
@ -3871,8 +3874,6 @@
|
|||
"default_value": 200,
|
||||
"minimum_value_warning": "-1000",
|
||||
"maximum_value_warning": "1000",
|
||||
"maximum_value": "machine_depth - resolveOrValue('prime_tower_size')",
|
||||
"minimum_value": "0",
|
||||
"maximum_value": "machine_depth / 2 - resolveOrValue('prime_tower_size') if machine_center_is_zero else machine_depth - resolveOrValue('prime_tower_size')",
|
||||
"minimum_value": "machine_depth / -2 if machine_center_is_zero else 0",
|
||||
"settable_per_mesh": false,
|
||||
|
|
28
resources/definitions/folgertech_FT-5.def.json
Normal file
28
resources/definitions/folgertech_FT-5.def.json
Normal file
|
@ -0,0 +1,28 @@
|
|||
{
|
||||
"version": 2,
|
||||
"name": "Folger Tech FT-5",
|
||||
"inherits": "fdmprinter",
|
||||
"metadata": {
|
||||
"visible": true,
|
||||
"author": "Jaime van Kessel & Paul Bussiere",
|
||||
"manufacturer": "Folger Tech",
|
||||
"category": "Other",
|
||||
"file_formats": "text/x-gcode",
|
||||
"platform": "FT-5_build_plate.stl"
|
||||
},
|
||||
"overrides": {
|
||||
"machine_heated_bed": { "default_value": true },
|
||||
"machine_width": { "default_value": 300 },
|
||||
"machine_height": { "default_value": 400 },
|
||||
"machine_depth": { "default_value": 300 },
|
||||
"material_diameter": { "default_value": 1.75 },
|
||||
"gantry_height": { "default_value": 55 },
|
||||
|
||||
"machine_start_gcode": {
|
||||
"default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG1 Z15.0 F9000 ;move the platform down 15mm\nG92 E0 ;zero the extruded length\nG1 F200 E3 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F9000\n;Put printing message on LCD screen\nM117 Printing..."
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "M104 S0 ;extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more\nG28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\nM84 ;steppers off\nG90 ;absolute positioning"
|
||||
}
|
||||
}
|
||||
}
|
50
resources/definitions/helloBEEprusa.def.json
Normal file
50
resources/definitions/helloBEEprusa.def.json
Normal file
|
@ -0,0 +1,50 @@
|
|||
{
|
||||
"id": "BEEVERYCREATIVE-helloBEEprusa",
|
||||
"version": 2,
|
||||
"name": "Hello BEE Prusa",
|
||||
"inherits": "fdmprinter",
|
||||
"metadata": {
|
||||
"visible": true,
|
||||
"author": "BEEVERYCREATIVE",
|
||||
"manufacturer": "BEEVERYCREATIVE",
|
||||
"category": "Other",
|
||||
"platform": "BEEVERYCREATIVE-helloBEEprusa.stl",
|
||||
"platform_offset": [-226, -75, -196],
|
||||
"file_formats": "text/x-gcode"
|
||||
},
|
||||
|
||||
"overrides": {
|
||||
"machine_name": { "default_value": "hello BEE prusa" },
|
||||
"machine_start_gcode": { "default_value": "; -- START GCODE --\nG21 ;set units to millimetres\nG90 ;set to absolute positioning\nM107 ;set fan speed to zero (turned off)\nG28 X0 Y0 ;move to the X/Y origin (Home)\nG28 Z0 ;move to the Z origin (Home)\nG92 E0 ;zero the extruded length\nG1 F3600 ;set feedrate to 60 mm/sec\n; -- end of START GCODE --" },
|
||||
"machine_end_gcode": { "default_value": "; -- END GCODE --\nM104 S0 ;set extruder temperature to zero (turned off)\nM140 S0 ;set bed temperature to zero (turned off)\nG28 X0 Y0 ;move to the X/Y origin (Home)\nM84 ;turn off steppers\n; -- end of END GCODE --" },
|
||||
"machine_width": { "default_value": 185 },
|
||||
"machine_depth": { "default_value": 200 },
|
||||
"machine_height": { "default_value": 190 },
|
||||
"machine_heated_bed": { "default_value": true },
|
||||
"machine_center_is_zero": { "default_value": false },
|
||||
"material_print_temperature": { "default_value": 220 },
|
||||
"material_bed_temperature": { "default_value": 60 },
|
||||
"material_diameter": { "default_value": 1.75 },
|
||||
"layer_height": { "default_value": 0.2 },
|
||||
"layer_height_0": { "default_value": 0.2 },
|
||||
"wall_line_count": { "default_value": 3 },
|
||||
"wall_thickness": { "default_value": 1.2 },
|
||||
"top_bottom_thickness": { "default_value": 1.2 },
|
||||
"infill_sparse_density": { "default_value": 20 },
|
||||
"infill_overlap": { "default_value": 15 },
|
||||
"speed_print": { "default_value": 60 },
|
||||
"speed_travel": { "default_value": 160 },
|
||||
"speed_layer_0": { "default_value": 30 },
|
||||
"speed_wall_x": { "default_value": 35 },
|
||||
"speed_wall_0": { "default_value": 30 },
|
||||
"speed_infill": { "default_value": 60 },
|
||||
"speed_topbottom": { "default_value": 20 },
|
||||
"skirt_brim_speed": { "default_value": 35 },
|
||||
"skirt_line_count": { "default_value": 4 },
|
||||
"skirt_brim_minimal_length": { "default_value": 30 },
|
||||
"skirt_gap": { "default_value": 6 },
|
||||
"cool_fan_full_at_height": { "default_value": 0.4 },
|
||||
"retraction_speed": { "default_value": 50.0},
|
||||
"retraction_amount": { "default_value": 5.2}
|
||||
}
|
||||
}
|
205
resources/definitions/renkforce_rf100.def.json
Normal file
205
resources/definitions/renkforce_rf100.def.json
Normal file
|
@ -0,0 +1,205 @@
|
|||
{
|
||||
"id": "RF100",
|
||||
"version": 2,
|
||||
"name": "Renkforce RF100",
|
||||
"inherits": "fdmprinter",
|
||||
"metadata": {
|
||||
"author": "Simon Peter (based on RF100.ini by Conrad Electronic SE)",
|
||||
"category": "Other",
|
||||
"file_formats": "text/x-gcode",
|
||||
"manufacturer": "Renkforce",
|
||||
"visible": true
|
||||
},
|
||||
|
||||
"overrides": {
|
||||
"adhesion_type": {
|
||||
"default_value": "skirt"
|
||||
},
|
||||
"bottom_thickness": {
|
||||
"value": "0.5"
|
||||
},
|
||||
"brim_line_count": {
|
||||
"value": "20.0"
|
||||
},
|
||||
"cool_fan_enabled": {
|
||||
"value": "True"
|
||||
},
|
||||
"cool_fan_full_at_height": {
|
||||
"value": "0.5"
|
||||
},
|
||||
"cool_fan_speed_max": {
|
||||
"value": "100.0"
|
||||
},
|
||||
"cool_fan_speed_min": {
|
||||
"value": "100.0"
|
||||
},
|
||||
"cool_lift_head": {
|
||||
"value": "True"
|
||||
},
|
||||
"cool_min_layer_time": {
|
||||
"value": "5.0"
|
||||
},
|
||||
"cool_min_speed": {
|
||||
"value": "10.0"
|
||||
},
|
||||
"infill_before_walls": {
|
||||
"value": "True"
|
||||
},
|
||||
"infill_overlap": {
|
||||
"value": "15.0"
|
||||
},
|
||||
"layer_0_z_overlap": {
|
||||
"value": "0.22"
|
||||
},
|
||||
"layer_height_0": {
|
||||
"value": "0.3"
|
||||
},
|
||||
"machine_depth": {
|
||||
"value": "100"
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": ";End GCode\nM104 S0 ;extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 X-20 Y-20 F{speed_travel} ;move Z up a bit and retract filament even more\nG28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\nM84 ;steppers off\nG90 ;absolute positioning"
|
||||
},
|
||||
"machine_gcode_flavor": {
|
||||
"default_value": "RepRap (Marlin/Sprinter)"
|
||||
},
|
||||
"machine_height": {
|
||||
"value": "100"
|
||||
},
|
||||
"machine_name": {
|
||||
"default_value": "Renkforce RF100"
|
||||
},
|
||||
"machine_start_gcode": {
|
||||
"default_value": ";Sliced at: {day} {date} {time}\nG21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG1 Z15.0 F{speed_travel} ;move the platform down 15mm\nG92 E0 ;zero the extruded length\nG1 F200 E3 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F{speed_travel}\nM117 Printing..."
|
||||
},
|
||||
"machine_width": {
|
||||
"value": "100"
|
||||
},
|
||||
"material_bed_temperature": {
|
||||
"visible": "False"
|
||||
},
|
||||
"material_diameter": {
|
||||
"value": "1.75"
|
||||
},
|
||||
"material_print_temperature": {
|
||||
"value": "210.0"
|
||||
},
|
||||
"ooze_shield_enabled": {
|
||||
"value": "True"
|
||||
},
|
||||
"raft_airgap": {
|
||||
"value": "0.22"
|
||||
},
|
||||
"raft_base_line_spacing": {
|
||||
"value": "3.0"
|
||||
},
|
||||
"raft_base_line_width": {
|
||||
"value": "1.0"
|
||||
},
|
||||
"raft_base_thickness": {
|
||||
"value": "0.3"
|
||||
},
|
||||
"raft_interface_line_spacing": {
|
||||
"value": "3.0"
|
||||
},
|
||||
"raft_interface_line_width": {
|
||||
"value": "0.4"
|
||||
},
|
||||
"raft_interface_thickness": {
|
||||
"value": "0.27"
|
||||
},
|
||||
"raft_margin": {
|
||||
"value": "5.0"
|
||||
},
|
||||
"raft_surface_layers": {
|
||||
"value": "2.0"
|
||||
},
|
||||
"raft_surface_line_spacing": {
|
||||
"value": "3.0"
|
||||
},
|
||||
"raft_surface_line_width": {
|
||||
"value": "0.4"
|
||||
},
|
||||
"raft_surface_thickness": {
|
||||
"value": "0.27"
|
||||
},
|
||||
"retraction_amount": {
|
||||
"value": "2.0"
|
||||
},
|
||||
"retraction_combing": {
|
||||
"default_value": "all"
|
||||
},
|
||||
"retraction_enable": {
|
||||
"value": "True"
|
||||
},
|
||||
"retraction_hop_enabled": {
|
||||
"value": "1.0"
|
||||
},
|
||||
"retraction_min_travel": {
|
||||
"value": "1.5"
|
||||
},
|
||||
"retraction_speed": {
|
||||
"value": "40.0"
|
||||
},
|
||||
"skin_overlap": {
|
||||
"value": "15.0"
|
||||
},
|
||||
"skirt_brim_minimal_length": {
|
||||
"value": "150.0"
|
||||
},
|
||||
"skirt_gap": {
|
||||
"value": "3.0"
|
||||
},
|
||||
"skirt_line_count": {
|
||||
"value": "1.0"
|
||||
},
|
||||
"speed_infill": {
|
||||
"value": "50.0"
|
||||
},
|
||||
"speed_layer_0": {
|
||||
"value": "30.0"
|
||||
},
|
||||
"speed_print": {
|
||||
"value": "50.0"
|
||||
},
|
||||
"speed_topbottom": {
|
||||
"value": "30.0"
|
||||
},
|
||||
"speed_travel": {
|
||||
"value": "50.0"
|
||||
},
|
||||
"speed_wall_0": {
|
||||
"value": "25.0"
|
||||
},
|
||||
"speed_wall_x": {
|
||||
"value": "35.0"
|
||||
},
|
||||
"support_angle": {
|
||||
"value": "60.0"
|
||||
},
|
||||
"support_enable": {
|
||||
"value": "False"
|
||||
},
|
||||
"support_infill_rate": {
|
||||
"value": "15.0"
|
||||
},
|
||||
"support_pattern": {
|
||||
"default_value": "lines"
|
||||
},
|
||||
"support_type": {
|
||||
"default_value": "everywhere"
|
||||
},
|
||||
"support_xy_distance": {
|
||||
"value": "0.5"
|
||||
},
|
||||
"support_z_distance": {
|
||||
"value": "0.1"
|
||||
},
|
||||
"top_thickness": {
|
||||
"value": "0.5"
|
||||
},
|
||||
"wall_thickness": {
|
||||
"value": "0.8"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -106,6 +106,7 @@
|
|||
"line_width": { "value": "machine_nozzle_size * 0.875" },
|
||||
"machine_min_cool_heat_time_window": { "value": "15" },
|
||||
"default_material_print_temperature": { "value": "200" },
|
||||
"material_print_temperature_layer_0": { "value": "material_print_temperature + 5" },
|
||||
"material_bed_temperature": { "maximum_value": "115" },
|
||||
"material_bed_temperature_layer_0": { "maximum_value": "115" },
|
||||
"material_standby_temperature": { "value": "100" },
|
||||
|
|
|
@ -62,7 +62,7 @@
|
|||
"default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG1 Z15.0 F9000 ;move the platform down 15mm\nG92 E0 ;zero the extruded length\nG1 F200 E6 ;extrude 6 mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F9000\n;Put printing message on LCD screen\nM117 Printing..."
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "M104 S0 ;extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more\nG28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\nM84 ;steppers off\nG90 ;absolute positioning"
|
||||
"value": "'M104 S0 ;extruder heater off' + ('\\nM140 S0 ;heated bed heater off' if machine_heated_bed else '') + '\\nG91 ;relative positioning\\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\\nG1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more\\nG28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\\nM84 ;steppers off\\nG90 ;absolute positioning'"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
84
resources/definitions/vertex_k8400.def.json
Normal file
84
resources/definitions/vertex_k8400.def.json
Normal file
|
@ -0,0 +1,84 @@
|
|||
{
|
||||
"id": "vertex_k8400",
|
||||
"version": 2,
|
||||
"name": "Vertex K8400",
|
||||
"inherits": "fdmprinter",
|
||||
"metadata": {
|
||||
"visible": true,
|
||||
"manufacturer": "Velleman",
|
||||
"category": "Other",
|
||||
"file_formats": "text/x-gcode",
|
||||
"icon": "icon_ultimaker2",
|
||||
"platform": "Vertex_build_panel.stl",
|
||||
"platform_offset": [0, -2, 0],
|
||||
"supports_usb_connection": true,
|
||||
"supported_actions": ["MachineSettingsAction"]
|
||||
},
|
||||
"overrides": {
|
||||
"machine_name": { "default_value": "Vertex K8400" },
|
||||
"machine_heated_bed": {
|
||||
"default_value": true
|
||||
},
|
||||
"material_bed_temperature": {
|
||||
"default_value": 0
|
||||
},
|
||||
"material_bed_temperature_layer_0": {
|
||||
"default_value": 0
|
||||
},
|
||||
"machine_width": {
|
||||
"default_value": 200
|
||||
},
|
||||
"machine_height": {
|
||||
"default_value": 190
|
||||
},
|
||||
"machine_depth": {
|
||||
"default_value": 200
|
||||
},
|
||||
"machine_disallowed_areas": { "default_value": [
|
||||
[[-100,100],[-100,80],[100,80],[100,100]]
|
||||
]},
|
||||
"machine_center_is_zero": {
|
||||
"default_value": false
|
||||
},
|
||||
"machine_nozzle_size": {
|
||||
"default_value": 0.35
|
||||
},
|
||||
"material_diameter": {
|
||||
"default_value": 1.75
|
||||
},
|
||||
"machine_head_polygon": {
|
||||
"default_value": [
|
||||
[-60, -18],
|
||||
[-60, 40],
|
||||
[18, 40],
|
||||
[18, -18]
|
||||
]
|
||||
},
|
||||
"machine_head_with_fans_polygon": {
|
||||
"default_value": [
|
||||
[-60, -40],
|
||||
[-60, 40],
|
||||
[18, 40],
|
||||
[18, -40]
|
||||
]
|
||||
},
|
||||
"gantry_height": {
|
||||
"default_value": 18
|
||||
},
|
||||
"machine_nozzle_heat_up_speed": {
|
||||
"default_value": 2
|
||||
},
|
||||
"machine_nozzle_cool_down_speed": {
|
||||
"default_value": 2
|
||||
},
|
||||
"machine_gcode_flavor": {
|
||||
"default_value": "RepRap (Marlin/Sprinter)"
|
||||
},
|
||||
"machine_start_gcode": {
|
||||
"default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG1 Z15.0 F9000 ;move the platform down 15mm\nG92 E0 ;zero the extruded length\nG1 F200 E3 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F9000\n;Put printing message on LCD screen\nM117 Printing..."
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "M104 S0 ;extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more\nG28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\nM84 ;steppers off\nG90 ;absolute positioning"
|
||||
}
|
||||
}
|
||||
}
|
92
resources/definitions/vertex_k8400_dual.def.json
Normal file
92
resources/definitions/vertex_k8400_dual.def.json
Normal file
|
@ -0,0 +1,92 @@
|
|||
{
|
||||
"id": "vertex_k8400_dual",
|
||||
"version": 2,
|
||||
"name": "Vertex K8400 Dual",
|
||||
"inherits": "fdmprinter",
|
||||
"metadata": {
|
||||
"visible": true,
|
||||
"manufacturer": "Velleman",
|
||||
"category": "Other",
|
||||
"file_formats": "text/x-gcode",
|
||||
"icon": "icon_ultimaker2",
|
||||
"platform": "Vertex_build_panel.stl",
|
||||
"platform_offset": [0, -2, 0],
|
||||
"machine_extruder_trains": {
|
||||
"0": "vertex_k8400_dual_1st",
|
||||
"1": "vertex_k8400_dual_2nd"
|
||||
}
|
||||
},
|
||||
"overrides": {
|
||||
"machine_name": { "default_value": "Vertex K8400 Dual" },
|
||||
"machine_heated_bed": {
|
||||
"default_value": true
|
||||
},
|
||||
"material_bed_temperature": {
|
||||
"default_value": 0
|
||||
},
|
||||
"material_bed_temperature_layer_0": {
|
||||
"default_value": 0
|
||||
},
|
||||
"machine_width": {
|
||||
"default_value": 223.7
|
||||
},
|
||||
"machine_height": {
|
||||
"default_value": 190
|
||||
},
|
||||
"machine_depth": {
|
||||
"default_value": 200
|
||||
},
|
||||
"machine_disallowed_areas": { "default_value": [
|
||||
[[-111.85,100],[111.85,100],[-111.85,80],[111.85,80]]
|
||||
]},
|
||||
"machine_center_is_zero": {
|
||||
"default_value": false
|
||||
},
|
||||
"machine_use_extruder_offset_to_offset_coords": {
|
||||
"default_value": true
|
||||
},
|
||||
"machine_nozzle_size": {
|
||||
"default_value": 0.35
|
||||
},
|
||||
"material_diameter": {
|
||||
"default_value": 1.75
|
||||
},
|
||||
"machine_head_polygon": {
|
||||
"default_value": [
|
||||
[-60, -18],
|
||||
[-60, 40],
|
||||
[18, 40],
|
||||
[18, -18]
|
||||
]
|
||||
},
|
||||
"machine_head_with_fans_polygon": {
|
||||
"default_value": [
|
||||
[-60, -40],
|
||||
[-60, 40],
|
||||
[18, 40],
|
||||
[18, -40]
|
||||
]
|
||||
},
|
||||
"gantry_height": {
|
||||
"default_value": 18
|
||||
},
|
||||
"machine_nozzle_heat_up_speed": {
|
||||
"default_value": 2
|
||||
},
|
||||
"machine_nozzle_cool_down_speed": {
|
||||
"default_value": 2
|
||||
},
|
||||
"machine_extruder_count": {
|
||||
"default_value": 2
|
||||
},
|
||||
"machine_gcode_flavor": {
|
||||
"default_value": "RepRap (Marlin/Sprinter)"
|
||||
},
|
||||
"machine_start_gcode": {
|
||||
"default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG1 Z15.0 F9000 ;move the platform down 15mm\nG92 E0 ;zero the extruded length\nG1 F200 E3 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F9000\n;Put printing message on LCD screen\nM117 Printing..."
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "M104 S0 ;extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more\nG28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\nM84 ;steppers off\nG90 ;absolute positioning"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -16,10 +16,10 @@
|
|||
"machine_nozzle_offset_x": { "default_value": 0.0 },
|
||||
"machine_nozzle_offset_y": { "default_value": 0.0 },
|
||||
"machine_extruder_start_code": {
|
||||
"default_value": "M117 Heating nozzles....\nM104 S190 T0\nG1 X70 Y20 F9000\nM109 S270 T0 ;wait for nozzle to heat up\nT0\n\nM117 purging nozzle\nG92 E0\nG1 E6 F90\nG92 E0\nG1 E-2 F300\nG92 E0\nM117 wiping nozzle\nG1 X1 Y28 F3000\nG1 X70 F6000\n\nM117 printing\n"
|
||||
"default_value": "\n;start extruder_0\nM117 Heating nozzles....\nM104 S190 T0\nG1 X70 Y20 F9000\nM109 S190 T0\n\nM117 purging nozzle\nG92 E0\nG1 E6 F90\nG92 E0\nG1 E-2 F300\nG92 E0\nM117 wiping nozzle\nG1 X1 Y28 F3000\nG1 X70 F6000\n\nM117 printing\n"
|
||||
},
|
||||
"machine_extruder_end_code": {
|
||||
"default_value": "\nM104 S160 T0\n;end extruder_0\nM117 temp is {material_print_temp}"
|
||||
"default_value": "\nM104 T0 S155\n;end extruder_0\nM117 temp is {material_print_temp}"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,10 +16,10 @@
|
|||
"machine_nozzle_offset_x": { "default_value": 24.0 },
|
||||
"machine_nozzle_offset_y": { "default_value": 0.0 },
|
||||
"machine_extruder_start_code": {
|
||||
"default_value": "\n;start extruder_1\nM117 Heating nozzles....\nM104 S190 T1\nG1 X70 Y20 F9000\nM109 S190 T1 ;wait for nozzle to heat up\n\nM117 purging nozzle\nG92 E0\nG1 E6 F90\nG92 E0\nG1 E-2 F300\nG92 E0\n\nM117 wiping nozzle\nG1 X1 Y28 F3000\nG1 X70 F6000\n\nM117 printing\n"
|
||||
"default_value": "\n;start extruder_1\nM117 Heating nozzles....\nM104 S190 T1\nG1 X70 Y20 F9000\nM109 S190 T1\n\nM117 purging nozzle\nG92 E0\nG1 E6 F90\nG92 E0\nG1 E-2 F300\nG92 E0\n\nM117 wiping nozzle\nG1 X1 Y28 F3000\nG1 X70 F6000\n\nM117 printing\n"
|
||||
},
|
||||
"machine_extruder_end_code": {
|
||||
"default_value": "\nM104 T0 S120\n;end extruder_1\n"
|
||||
"default_value": "\nM104 T1 S155\n;end extruder_1\n"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
"default_value": "\n;start extruder_2\nM117 Heating nozzles....\nM104 S190 T2\nG1 X70 Y20 F9000\nM109 S190 T2\n\nM117 purging nozzle\nG92 E0\nG1 E6 F90\nG92 E0\nG1 E-2 F300\nG92 E0\n\nM117 wiping nozzle\nG1 X1 Y28 F3000\nG1 X70 F6000\n\nM117 printing\n"
|
||||
},
|
||||
"machine_extruder_end_code": {
|
||||
"default_value": "\nM104 T2 S120\n;end extruder_2\n"
|
||||
"default_value": "\nM104 T2 S155\n;end extruder_2\n"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
"default_value": "\n;start extruder_3\nM117 Heating nozzles....\nM104 S190 T3\nG1 X70 Y20 F9000\nM109 S190 T3\n\nM117 purging nozzle\nG92 E0\nG1 E6 F90\nG92 E0\nG1 E-2 F300\nG92 E0\n\nM117 wiping nozzle\nG1 X1 Y28 F3000\nG1 X70 F6000\n\nM117 printing\n"
|
||||
},
|
||||
"machine_extruder_end_code": {
|
||||
"default_value": "\nM104 T3 S120\n;end extruder_3\n"
|
||||
"default_value": "\nM104 T3 S155\n;end extruder_3\n"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
26
resources/extruders/vertex_k8400_dual_1st.def.json
Normal file
26
resources/extruders/vertex_k8400_dual_1st.def.json
Normal file
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"id": "vertex_k8400_dual_1st",
|
||||
"version": 2,
|
||||
"name": "Extruder 1",
|
||||
"inherits": "fdmextruder",
|
||||
"metadata": {
|
||||
"machine": "vertex_k8400_dual",
|
||||
"position": "0"
|
||||
},
|
||||
|
||||
"overrides": {
|
||||
"extruder_nr": {
|
||||
"default_value": 0,
|
||||
"maximum_value": "1"
|
||||
},
|
||||
"machine_nozzle_offset_x": { "default_value": 23.7 },
|
||||
"machine_nozzle_offset_y": { "default_value": 0.0 },
|
||||
|
||||
"machine_extruder_start_pos_abs": { "default_value": true },
|
||||
"machine_extruder_start_pos_x": { "value": "prime_tower_position_x" },
|
||||
"machine_extruder_start_pos_y": { "value": "prime_tower_position_y" },
|
||||
"machine_extruder_end_pos_abs": { "default_value": true },
|
||||
"machine_extruder_end_pos_x": { "value": "prime_tower_position_x" },
|
||||
"machine_extruder_end_pos_y": { "value": "prime_tower_position_y" }
|
||||
}
|
||||
}
|
26
resources/extruders/vertex_k8400_dual_2nd.def.json
Normal file
26
resources/extruders/vertex_k8400_dual_2nd.def.json
Normal file
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"id": "vertex_k8400_dual_2nd",
|
||||
"version": 2,
|
||||
"name": "Extruder 2",
|
||||
"inherits": "fdmextruder",
|
||||
"metadata": {
|
||||
"machine": "vertex_k8400_dual",
|
||||
"position": "1"
|
||||
},
|
||||
|
||||
"overrides": {
|
||||
"extruder_nr": {
|
||||
"default_value": 1,
|
||||
"maximum_value": "1"
|
||||
},
|
||||
"machine_nozzle_offset_x": { "default_value": 0.0 },
|
||||
"machine_nozzle_offset_y": { "default_value": 0.0 },
|
||||
|
||||
"machine_extruder_start_pos_abs": { "default_value": true },
|
||||
"machine_extruder_start_pos_x": { "value": "prime_tower_position_x" },
|
||||
"machine_extruder_start_pos_y": { "value": "prime_tower_position_y" },
|
||||
"machine_extruder_end_pos_abs": { "default_value": true },
|
||||
"machine_extruder_end_pos_x": { "value": "prime_tower_position_x" },
|
||||
"machine_extruder_end_pos_y": { "value": "prime_tower_position_y" }
|
||||
}
|
||||
}
|
|
@ -1425,7 +1425,7 @@ msgstr "X min"
|
|||
#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:278
|
||||
msgctxt "@label"
|
||||
msgid "Y min"
|
||||
msgstr "X min"
|
||||
msgstr "Y min"
|
||||
|
||||
#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.qml:294
|
||||
msgctxt "@label"
|
||||
|
|
|
@ -3010,7 +3010,7 @@ msgstr "Engine-&logboek Weergeven..."
|
|||
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:307
|
||||
msgctxt "@action:inmenu menubar:help"
|
||||
msgid "Show Configuration Folder"
|
||||
msgstr "Configuratiemap Weergeven"
|
||||
msgstr "Open Configuratiemap"
|
||||
|
||||
#: /home/ruben/Projects/Cura/resources/qml/Actions.qml:314
|
||||
msgctxt "@action:menu"
|
||||
|
|
BIN
resources/meshes/BEEVERYCREATIVE-helloBEEprusa.stl
Normal file
BIN
resources/meshes/BEEVERYCREATIVE-helloBEEprusa.stl
Normal file
Binary file not shown.
49394
resources/meshes/FT-5_build_plate.stl
Normal file
49394
resources/meshes/FT-5_build_plate.stl
Normal file
File diff suppressed because it is too large
Load diff
BIN
resources/meshes/Vertex_build_panel.stl
Normal file
BIN
resources/meshes/Vertex_build_panel.stl
Normal file
Binary file not shown.
|
@ -73,68 +73,76 @@ UM.Dialog
|
|||
anchors.topMargin: UM.Theme.getSize("default_margin").height
|
||||
}
|
||||
|
||||
ListView
|
||||
ScrollView
|
||||
{
|
||||
id: projectsList
|
||||
|
||||
anchors.top: creditsNotes.bottom
|
||||
anchors.topMargin: 10
|
||||
anchors.topMargin: UM.Theme.getSize("default_margin").height
|
||||
|
||||
width: parent.width
|
||||
height: childrenRect.height
|
||||
height: base.height - y - (2 * UM.Theme.getSize("default_margin").height + closeButton.height)
|
||||
|
||||
delegate: Row
|
||||
ListView
|
||||
{
|
||||
Label
|
||||
{
|
||||
text: "<a href='%1' title='%2'>%2</a>".arg(model.url).arg(model.name)
|
||||
width: projectsList.width * 0.25
|
||||
elide: Text.ElideRight
|
||||
onLinkActivated: Qt.openUrlExternally(link)
|
||||
}
|
||||
Label
|
||||
{
|
||||
text: model.description
|
||||
elide: Text.ElideRight
|
||||
width: projectsList.width * 0.6
|
||||
}
|
||||
Label
|
||||
{
|
||||
text: model.license
|
||||
elide: Text.ElideRight
|
||||
width: projectsList.width * 0.15
|
||||
}
|
||||
}
|
||||
model: ListModel
|
||||
{
|
||||
id: projectsModel
|
||||
}
|
||||
Component.onCompleted:
|
||||
{
|
||||
projectsModel.append({ name:"Cura", description: catalog.i18nc("@label", "Graphical user interface"), license: "AGPLv3", url: "https://github.com/Ultimaker/Cura" });
|
||||
projectsModel.append({ name:"Uranium", description: catalog.i18nc("@label", "Application framework"), license: "AGPLv3", url: "https://github.com/Ultimaker/Uranium" });
|
||||
projectsModel.append({ name:"CuraEngine", description: catalog.i18nc("@label", "GCode generator"), license: "AGPLv3", url: "https://github.com/Ultimaker/CuraEngine" });
|
||||
projectsModel.append({ name:"libArcus", description: catalog.i18nc("@label", "Interprocess communication library"), license: "AGPLv3", url: "https://github.com/Ultimaker/libArcus" });
|
||||
id: projectsList
|
||||
|
||||
projectsModel.append({ name:"Python", description: catalog.i18nc("@label", "Programming language"), license: "Python", url: "http://python.org/" });
|
||||
projectsModel.append({ name:"Qt5", description: catalog.i18nc("@label", "GUI framework"), license: "LGPLv3", url: "https://www.qt.io/" });
|
||||
projectsModel.append({ name:"PyQt", description: catalog.i18nc("@label", "GUI framework bindings"), license: "GPL", url: "https://riverbankcomputing.com/software/pyqt" });
|
||||
projectsModel.append({ name:"SIP", description: catalog.i18nc("@label", "C/C++ Binding library"), license: "GPL", url: "https://riverbankcomputing.com/software/sip" });
|
||||
projectsModel.append({ name:"Protobuf", description: catalog.i18nc("@label", "Data interchange format"), license: "BSD", url: "https://developers.google.com/protocol-buffers" });
|
||||
projectsModel.append({ name:"SciPy", description: catalog.i18nc("@label", "Support library for scientific computing "), license: "BSD-new", url: "https://www.scipy.org/" });
|
||||
projectsModel.append({ name:"NumPy", description: catalog.i18nc("@label", "Support library for faster math"), license: "BSD", url: "http://www.numpy.org/" });
|
||||
projectsModel.append({ name:"NumPy-STL", description: catalog.i18nc("@label", "Support library for handling STL files"), license: "BSD", url: "https://github.com/WoLpH/numpy-stl" });
|
||||
projectsModel.append({ name:"PySerial", description: catalog.i18nc("@label", "Serial communication library"), license: "Python", url: "http://pyserial.sourceforge.net/" });
|
||||
projectsModel.append({ name:"python-zeroconf", description: catalog.i18nc("@label", "ZeroConf discovery library"), license: "LGPL", url: "https://github.com/jstasiak/python-zeroconf" });
|
||||
projectsModel.append({ name:"Clipper", description: catalog.i18nc("@label", "Polygon clipping library"), license: "Boost", url: "http://www.angusj.com/delphi/clipper.php" });
|
||||
projectsModel.append({ name:"Open Sans", description: catalog.i18nc("@label", "Font"), license: "Apache 2.0", url: "https://fonts.google.com/specimen/Open+Sans" });
|
||||
projectsModel.append({ name:"Font-Awesome-SVG-PNG", description: catalog.i18nc("@label", "SVG icons"), license: "SIL OFL 1.1", url: "https://github.com/encharm/Font-Awesome-SVG-PNG" });
|
||||
width: parent.width
|
||||
|
||||
delegate: Row
|
||||
{
|
||||
Label
|
||||
{
|
||||
text: "<a href='%1' title='%2'>%2</a>".arg(model.url).arg(model.name)
|
||||
width: (projectsList.width * 0.25) | 0
|
||||
elide: Text.ElideRight
|
||||
onLinkActivated: Qt.openUrlExternally(link)
|
||||
}
|
||||
Label
|
||||
{
|
||||
text: model.description
|
||||
elide: Text.ElideRight
|
||||
width: (projectsList.width * 0.6) | 0
|
||||
}
|
||||
Label
|
||||
{
|
||||
text: model.license
|
||||
elide: Text.ElideRight
|
||||
width: (projectsList.width * 0.15) | 0
|
||||
}
|
||||
}
|
||||
model: ListModel
|
||||
{
|
||||
id: projectsModel
|
||||
}
|
||||
Component.onCompleted:
|
||||
{
|
||||
projectsModel.append({ name:"Cura", description: catalog.i18nc("@label", "Graphical user interface"), license: "AGPLv3", url: "https://github.com/Ultimaker/Cura" });
|
||||
projectsModel.append({ name:"Uranium", description: catalog.i18nc("@label", "Application framework"), license: "AGPLv3", url: "https://github.com/Ultimaker/Uranium" });
|
||||
projectsModel.append({ name:"CuraEngine", description: catalog.i18nc("@label", "GCode generator"), license: "AGPLv3", url: "https://github.com/Ultimaker/CuraEngine" });
|
||||
projectsModel.append({ name:"libArcus", description: catalog.i18nc("@label", "Interprocess communication library"), license: "AGPLv3", url: "https://github.com/Ultimaker/libArcus" });
|
||||
|
||||
projectsModel.append({ name:"Python", description: catalog.i18nc("@label", "Programming language"), license: "Python", url: "http://python.org/" });
|
||||
projectsModel.append({ name:"Qt5", description: catalog.i18nc("@label", "GUI framework"), license: "LGPLv3", url: "https://www.qt.io/" });
|
||||
projectsModel.append({ name:"PyQt", description: catalog.i18nc("@label", "GUI framework bindings"), license: "GPL", url: "https://riverbankcomputing.com/software/pyqt" });
|
||||
projectsModel.append({ name:"SIP", description: catalog.i18nc("@label", "C/C++ Binding library"), license: "GPL", url: "https://riverbankcomputing.com/software/sip" });
|
||||
projectsModel.append({ name:"Protobuf", description: catalog.i18nc("@label", "Data interchange format"), license: "BSD", url: "https://developers.google.com/protocol-buffers" });
|
||||
projectsModel.append({ name:"SciPy", description: catalog.i18nc("@label", "Support library for scientific computing "), license: "BSD-new", url: "https://www.scipy.org/" });
|
||||
projectsModel.append({ name:"NumPy", description: catalog.i18nc("@label", "Support library for faster math"), license: "BSD", url: "http://www.numpy.org/" });
|
||||
projectsModel.append({ name:"NumPy-STL", description: catalog.i18nc("@label", "Support library for handling STL files"), license: "BSD", url: "https://github.com/WoLpH/numpy-stl" });
|
||||
projectsModel.append({ name:"libSavitar", description: catalog.i18nc("@label", "Support library for handling 3MF files"), license: "AGPLv3", url: "https://github.com/ultimaker/libsavitar" });
|
||||
projectsModel.append({ name:"PySerial", description: catalog.i18nc("@label", "Serial communication library"), license: "Python", url: "http://pyserial.sourceforge.net/" });
|
||||
projectsModel.append({ name:"python-zeroconf", description: catalog.i18nc("@label", "ZeroConf discovery library"), license: "LGPL", url: "https://github.com/jstasiak/python-zeroconf" });
|
||||
projectsModel.append({ name:"Clipper", description: catalog.i18nc("@label", "Polygon clipping library"), license: "Boost", url: "http://www.angusj.com/delphi/clipper.php" });
|
||||
|
||||
projectsModel.append({ name:"Open Sans", description: catalog.i18nc("@label", "Font"), license: "Apache 2.0", url: "https://fonts.google.com/specimen/Open+Sans" });
|
||||
projectsModel.append({ name:"Font-Awesome-SVG-PNG", description: catalog.i18nc("@label", "SVG icons"), license: "SIL OFL 1.1", url: "https://github.com/encharm/Font-Awesome-SVG-PNG" });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
rightButtons: Button
|
||||
{
|
||||
//: Close about dialog button
|
||||
id: closeButton
|
||||
text: catalog.i18nc("@action:button","Close");
|
||||
|
||||
onClicked: base.visible = false;
|
||||
|
|
|
@ -45,7 +45,7 @@ UM.MainWindow
|
|||
function getMeshName(path){
|
||||
//takes the path the complete path of the meshname and returns only the filebase
|
||||
var fileName = path.slice(path.lastIndexOf("/") + 1)
|
||||
var fileBase = fileName.slice(0, fileName.lastIndexOf("."))
|
||||
var fileBase = fileName.slice(0, fileName.indexOf("."))
|
||||
return fileBase
|
||||
}
|
||||
|
||||
|
@ -786,6 +786,8 @@ UM.MainWindow
|
|||
{
|
||||
UM.WorkspaceFileHandler.readLocalFile(fileUrls[i])
|
||||
}
|
||||
var meshName = backgroundItem.getMeshName(fileUrls[0].toString())
|
||||
backgroundItem.hasMesh(decodeURIComponent(meshName))
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -880,6 +882,21 @@ UM.MainWindow
|
|||
}
|
||||
}
|
||||
|
||||
DiscardOrKeepProfileChangesDialog
|
||||
{
|
||||
id: discardOrKeepProfileChangesDialog
|
||||
}
|
||||
|
||||
Connections
|
||||
{
|
||||
target: Printer
|
||||
onShowDiscardOrKeepProfileChanges:
|
||||
{
|
||||
discardOrKeepProfileChangesDialog.show()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Connections
|
||||
{
|
||||
target: Cura.Actions.addMachine
|
||||
|
|
174
resources/qml/DiscardOrKeepProfileChangesDialog.qml
Normal file
174
resources/qml/DiscardOrKeepProfileChangesDialog.qml
Normal file
|
@ -0,0 +1,174 @@
|
|||
// Copyright (c) 2017 Ultimaker B.V.
|
||||
// Cura is released under the terms of the AGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.1
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Dialogs 1.2
|
||||
|
||||
import UM 1.2 as UM
|
||||
import Cura 1.1 as Cura
|
||||
|
||||
UM.Dialog
|
||||
{
|
||||
id: base
|
||||
title: catalog.i18nc("@title:window", "Discard or Keep changes")
|
||||
|
||||
width: 500
|
||||
height: 300
|
||||
property var changesModel: Cura.UserChangesModel{ id: userChangesModel}
|
||||
onVisibilityChanged:
|
||||
{
|
||||
if(visible)
|
||||
{
|
||||
changesModel.forceUpdate()
|
||||
}
|
||||
}
|
||||
|
||||
Column
|
||||
{
|
||||
anchors.fill: parent
|
||||
spacing: UM.Theme.getSize("default_margin").width
|
||||
|
||||
UM.I18nCatalog
|
||||
{
|
||||
id: catalog;
|
||||
name:"cura"
|
||||
}
|
||||
|
||||
Row
|
||||
{
|
||||
height: childrenRect.height
|
||||
anchors.margins: UM.Theme.getSize("default_margin").width
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
spacing: UM.Theme.getSize("default_margin").width
|
||||
UM.RecolorImage
|
||||
{
|
||||
source: UM.Theme.getIcon("star")
|
||||
width : 30
|
||||
height: width
|
||||
color: UM.Theme.getColor("setting_control_button")
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
text: "You have customized some profile settings.\nWould you like to keep or discard those settings?"
|
||||
anchors.margins: UM.Theme.getSize("default_margin").width
|
||||
font: UM.Theme.getFont("default_bold")
|
||||
wrapMode: Text.WordWrap
|
||||
}
|
||||
}
|
||||
|
||||
TableView
|
||||
{
|
||||
anchors.margins: UM.Theme.getSize("default_margin").width
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
height: 200
|
||||
id: tableView
|
||||
Component
|
||||
{
|
||||
id: labelDelegate
|
||||
Label
|
||||
{
|
||||
property var extruder_name: userChangesModel.getItem(styleData.row).extruder
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
||||
font: UM.Theme.getFont("default")
|
||||
text:
|
||||
{
|
||||
var result = styleData.value
|
||||
if (extruder_name!= "")
|
||||
{
|
||||
result += " (" + extruder_name + ")"
|
||||
}
|
||||
return result
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Component
|
||||
{
|
||||
id: defaultDelegate
|
||||
Label
|
||||
{
|
||||
text: styleData.value
|
||||
font: UM.Theme.getFont("default")
|
||||
color: UM.Theme.getColor("setting_control_disabled_text")
|
||||
}
|
||||
}
|
||||
|
||||
TableViewColumn
|
||||
{
|
||||
role: "label"
|
||||
title: catalog.i18nc("@title:column", "Settings")
|
||||
delegate: labelDelegate
|
||||
width: tableView.width * 0.5
|
||||
}
|
||||
|
||||
TableViewColumn
|
||||
{
|
||||
role: "original_value"
|
||||
title: "Profile"
|
||||
width: tableView.width * 0.25
|
||||
delegate: defaultDelegate
|
||||
}
|
||||
TableViewColumn
|
||||
{
|
||||
role: "user_value"
|
||||
title: catalog.i18nc("@title:column", "Customized")
|
||||
width: tableView.width * 0.25 - 1
|
||||
}
|
||||
section.property: "category"
|
||||
section.delegate: Label
|
||||
{
|
||||
text: section
|
||||
font.bold: true
|
||||
}
|
||||
|
||||
model: base.changesModel
|
||||
}
|
||||
|
||||
Item
|
||||
{
|
||||
anchors.right: parent.right
|
||||
anchors.left: parent.left
|
||||
anchors.margins: UM.Theme.getSize("default_margin").width
|
||||
height:childrenRect.height
|
||||
|
||||
Button
|
||||
{
|
||||
id: discardButton
|
||||
text: catalog.i18nc("@action:button", "Discard");
|
||||
anchors.right: parent.right
|
||||
onClicked:
|
||||
{
|
||||
Printer.discardOrKeepProfileChangesClosed("discard")
|
||||
base.hide()
|
||||
}
|
||||
}
|
||||
|
||||
Button
|
||||
{
|
||||
id: keepButton
|
||||
text: catalog.i18nc("@action:button", "Keep");
|
||||
anchors.right: discardButton.left
|
||||
anchors.rightMargin: UM.Theme.getSize("default_margin").width
|
||||
onClicked:
|
||||
{
|
||||
Printer.discardOrKeepProfileChangesClosed("keep")
|
||||
base.hide()
|
||||
}
|
||||
}
|
||||
|
||||
Button
|
||||
{
|
||||
id: createNewProfileButton
|
||||
text: catalog.i18nc("@action:button", "Create new profile");
|
||||
anchors.left: parent.left
|
||||
action: Cura.Actions.addProfile
|
||||
onClicked: base.hide()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -12,7 +12,7 @@ import Cura 1.0 as Cura
|
|||
Item {
|
||||
id: base
|
||||
|
||||
property bool activity: Printer.getPlatformActivity
|
||||
property bool activity: Printer.platformActivity
|
||||
property string fileBaseName
|
||||
property variant activeMachineName: Cura.MachineManager.activeMachineName
|
||||
|
||||
|
|
|
@ -80,7 +80,7 @@ Item
|
|||
}
|
||||
}
|
||||
|
||||
property bool activity: Printer.getPlatformActivity;
|
||||
property bool activity: Printer.platformActivity;
|
||||
property int totalHeight: childrenRect.height + UM.Theme.getSize("default_margin").height
|
||||
property string fileBaseName
|
||||
property string statusText:
|
||||
|
|
|
@ -58,322 +58,368 @@ UM.PreferencesPage
|
|||
}
|
||||
}
|
||||
|
||||
Column
|
||||
ScrollView
|
||||
{
|
||||
//: Model used to check if a plugin exists
|
||||
UM.PluginsModel { id: plugins }
|
||||
width: parent.width
|
||||
height: parent.height
|
||||
|
||||
//: Language selection label
|
||||
UM.I18nCatalog{id: catalog; name:"cura"}
|
||||
|
||||
Label
|
||||
Column
|
||||
{
|
||||
font.bold: true
|
||||
text: catalog.i18nc("@label","Interface")
|
||||
}
|
||||
//: Model used to check if a plugin exists
|
||||
UM.PluginsModel { id: plugins }
|
||||
|
||||
//: Language selection label
|
||||
UM.I18nCatalog{id: catalog; name:"cura"}
|
||||
|
||||
Row
|
||||
{
|
||||
spacing: UM.Theme.getSize("default_margin").width
|
||||
Label
|
||||
{
|
||||
id: languageLabel
|
||||
text: catalog.i18nc("@label","Language:")
|
||||
anchors.verticalCenter: languageComboBox.verticalCenter
|
||||
font.bold: true
|
||||
text: catalog.i18nc("@label","Interface")
|
||||
}
|
||||
|
||||
ComboBox
|
||||
Row
|
||||
{
|
||||
id: languageComboBox
|
||||
model: ListModel
|
||||
spacing: UM.Theme.getSize("default_margin").width
|
||||
Label
|
||||
{
|
||||
id: languageList
|
||||
id: languageLabel
|
||||
text: catalog.i18nc("@label","Language:")
|
||||
anchors.verticalCenter: languageComboBox.verticalCenter
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
append({ text: "English", code: "en" })
|
||||
append({ text: "Deutsch", code: "de" })
|
||||
append({ text: "Español", code: "es" })
|
||||
append({ text: "Suomi", code: "fi" })
|
||||
append({ text: "Français", code: "fr" })
|
||||
append({ text: "Italiano", code: "it" })
|
||||
append({ text: "Nederlands", code: "nl" })
|
||||
append({ text: "Português do Brasil", code: "ptbr" })
|
||||
append({ text: "Русский", code: "ru" })
|
||||
append({ text: "Türkçe", code: "tr" })
|
||||
ComboBox
|
||||
{
|
||||
id: languageComboBox
|
||||
model: ListModel
|
||||
{
|
||||
id: languageList
|
||||
|
||||
Component.onCompleted: {
|
||||
append({ text: "English", code: "en" })
|
||||
append({ text: "Deutsch", code: "de" })
|
||||
append({ text: "Español", code: "es" })
|
||||
append({ text: "Suomi", code: "fi" })
|
||||
append({ text: "Français", code: "fr" })
|
||||
append({ text: "Italiano", code: "it" })
|
||||
append({ text: "Nederlands", code: "nl" })
|
||||
append({ text: "Português do Brasil", code: "ptbr" })
|
||||
append({ text: "Русский", code: "ru" })
|
||||
append({ text: "Türkçe", code: "tr" })
|
||||
}
|
||||
}
|
||||
|
||||
currentIndex:
|
||||
{
|
||||
var code = UM.Preferences.getValue("general/language");
|
||||
for(var i = 0; i < languageList.count; ++i)
|
||||
{
|
||||
if(model.get(i).code == code)
|
||||
{
|
||||
return i
|
||||
}
|
||||
}
|
||||
}
|
||||
onActivated: UM.Preferences.setValue("general/language", model.get(index).code)
|
||||
|
||||
Component.onCompleted:
|
||||
{
|
||||
// Because ListModel is stupid and does not allow using qsTr() for values.
|
||||
for(var i = 0; i < languageList.count; ++i)
|
||||
{
|
||||
languageList.setProperty(i, "text", catalog.i18n(languageList.get(i).text));
|
||||
}
|
||||
|
||||
// Glorious hack time. ComboBox does not update the text properly after changing the
|
||||
// model. So change the indices around to force it to update.
|
||||
currentIndex += 1;
|
||||
currentIndex -= 1;
|
||||
}
|
||||
}
|
||||
|
||||
currentIndex:
|
||||
Label
|
||||
{
|
||||
var code = UM.Preferences.getValue("general/language");
|
||||
for(var i = 0; i < languageList.count; ++i)
|
||||
id: currencyLabel
|
||||
text: catalog.i18nc("@label","Currency:")
|
||||
anchors.verticalCenter: languageComboBox.verticalCenter
|
||||
}
|
||||
TextField
|
||||
{
|
||||
id: currencyField
|
||||
text: UM.Preferences.getValue("cura/currency")
|
||||
onTextChanged: UM.Preferences.setValue("cura/currency", text)
|
||||
}
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
id: languageCaption
|
||||
|
||||
//: Language change warning
|
||||
text: catalog.i18nc("@label", "You will need to restart the application for language changes to have effect.")
|
||||
wrapMode: Text.WordWrap
|
||||
font.italic: true
|
||||
}
|
||||
|
||||
Item
|
||||
{
|
||||
//: Spacer
|
||||
height: UM.Theme.getSize("default_margin").height
|
||||
width: UM.Theme.getSize("default_margin").width
|
||||
}
|
||||
|
||||
UM.TooltipArea
|
||||
{
|
||||
width: childrenRect.width;
|
||||
height: childrenRect.height;
|
||||
|
||||
text: catalog.i18nc("@info:tooltip","Slice automatically when changing settings.")
|
||||
|
||||
CheckBox
|
||||
{
|
||||
id: autoSliceCheckbox
|
||||
|
||||
checked: boolCheck(UM.Preferences.getValue("general/auto_slice"))
|
||||
onClicked: UM.Preferences.setValue("general/auto_slice", checked)
|
||||
|
||||
text: catalog.i18nc("@option:check","Slice automatically");
|
||||
}
|
||||
}
|
||||
|
||||
Item
|
||||
{
|
||||
//: Spacer
|
||||
height: UM.Theme.getSize("default_margin").height
|
||||
width: UM.Theme.getSize("default_margin").width
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
font.bold: true
|
||||
text: catalog.i18nc("@label","Viewport behavior")
|
||||
}
|
||||
|
||||
UM.TooltipArea
|
||||
{
|
||||
width: childrenRect.width;
|
||||
height: childrenRect.height;
|
||||
|
||||
text: catalog.i18nc("@info:tooltip","Highlight unsupported areas of the model in red. Without support these areas will not print properly.")
|
||||
|
||||
CheckBox
|
||||
{
|
||||
id: showOverhangCheckbox
|
||||
|
||||
checked: boolCheck(UM.Preferences.getValue("view/show_overhang"))
|
||||
onClicked: UM.Preferences.setValue("view/show_overhang", checked)
|
||||
|
||||
text: catalog.i18nc("@option:check","Display overhang");
|
||||
}
|
||||
}
|
||||
|
||||
UM.TooltipArea {
|
||||
width: childrenRect.width;
|
||||
height: childrenRect.height;
|
||||
text: catalog.i18nc("@info:tooltip","Moves the camera so the model is in the center of the view when an model is selected")
|
||||
|
||||
CheckBox
|
||||
{
|
||||
id: centerOnSelectCheckbox
|
||||
text: catalog.i18nc("@action:button","Center camera when item is selected");
|
||||
checked: boolCheck(UM.Preferences.getValue("view/center_on_select"))
|
||||
onClicked: UM.Preferences.setValue("view/center_on_select", checked)
|
||||
}
|
||||
}
|
||||
|
||||
UM.TooltipArea {
|
||||
width: childrenRect.width
|
||||
height: childrenRect.height
|
||||
text: catalog.i18nc("@info:tooltip", "Should models on the platform be moved so that they no longer intersect?")
|
||||
|
||||
CheckBox
|
||||
{
|
||||
id: pushFreeCheckbox
|
||||
text: catalog.i18nc("@option:check", "Ensure models are kept apart")
|
||||
checked: boolCheck(UM.Preferences.getValue("physics/automatic_push_free"))
|
||||
onCheckedChanged: UM.Preferences.setValue("physics/automatic_push_free", checked)
|
||||
}
|
||||
}
|
||||
UM.TooltipArea {
|
||||
width: childrenRect.width
|
||||
height: childrenRect.height
|
||||
text: catalog.i18nc("@info:tooltip", "Should models on the platform be moved down to touch the build plate?")
|
||||
|
||||
CheckBox
|
||||
{
|
||||
id: dropDownCheckbox
|
||||
text: catalog.i18nc("@option:check", "Automatically drop models to the build plate")
|
||||
checked: boolCheck(UM.Preferences.getValue("physics/automatic_drop_down"))
|
||||
onCheckedChanged: UM.Preferences.setValue("physics/automatic_drop_down", checked)
|
||||
}
|
||||
}
|
||||
|
||||
UM.TooltipArea {
|
||||
width: childrenRect.width;
|
||||
height: childrenRect.height;
|
||||
text: catalog.i18nc("@info:tooltip","Display 5 top layers in layer view or only the top-most layer. Rendering 5 layers takes longer, but may show more information.")
|
||||
|
||||
CheckBox
|
||||
{
|
||||
id: topLayerCountCheckbox
|
||||
text: catalog.i18nc("@action:button","Display five top layers in layer view compatibility mode");
|
||||
checked: UM.Preferences.getValue("view/top_layer_count") == 5
|
||||
onClicked:
|
||||
{
|
||||
if(model.get(i).code == code)
|
||||
if(UM.Preferences.getValue("view/top_layer_count") == 5)
|
||||
{
|
||||
return i
|
||||
UM.Preferences.setValue("view/top_layer_count", 1)
|
||||
}
|
||||
else
|
||||
{
|
||||
UM.Preferences.setValue("view/top_layer_count", 5)
|
||||
}
|
||||
}
|
||||
}
|
||||
onActivated: UM.Preferences.setValue("general/language", model.get(index).code)
|
||||
}
|
||||
|
||||
Component.onCompleted:
|
||||
UM.TooltipArea {
|
||||
width: childrenRect.width
|
||||
height: childrenRect.height
|
||||
text: catalog.i18nc("@info:tooltip", "Should only the top layers be displayed in layerview?")
|
||||
|
||||
CheckBox
|
||||
{
|
||||
// Because ListModel is stupid and does not allow using qsTr() for values.
|
||||
for(var i = 0; i < languageList.count; ++i)
|
||||
{
|
||||
languageList.setProperty(i, "text", catalog.i18n(languageList.get(i).text));
|
||||
}
|
||||
|
||||
// Glorious hack time. ComboBox does not update the text properly after changing the
|
||||
// model. So change the indices around to force it to update.
|
||||
currentIndex += 1;
|
||||
currentIndex -= 1;
|
||||
id: topLayersOnlyCheckbox
|
||||
text: catalog.i18nc("@option:check", "Only display top layer(s) in layer view compatibility mode")
|
||||
checked: boolCheck(UM.Preferences.getValue("view/only_show_top_layers"))
|
||||
onCheckedChanged: UM.Preferences.setValue("view/only_show_top_layers", checked)
|
||||
}
|
||||
}
|
||||
|
||||
UM.TooltipArea {
|
||||
width: childrenRect.width
|
||||
height: childrenRect.height
|
||||
text: catalog.i18nc("@info:tooltip", "Should layer be forced into compatibility mode?")
|
||||
|
||||
CheckBox
|
||||
{
|
||||
id: forceLayerViewCompatibilityModeCheckbox
|
||||
text: catalog.i18nc("@option:check", "Force layer view compatibility mode (restart required)")
|
||||
checked: boolCheck(UM.Preferences.getValue("view/force_layer_view_compatibility_mode"))
|
||||
onCheckedChanged: UM.Preferences.setValue("view/force_layer_view_compatibility_mode", checked)
|
||||
}
|
||||
}
|
||||
|
||||
Item
|
||||
{
|
||||
//: Spacer
|
||||
height: UM.Theme.getSize("default_margin").height
|
||||
width: UM.Theme.getSize("default_margin").height
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
id: currencyLabel
|
||||
text: catalog.i18nc("@label","Currency:")
|
||||
anchors.verticalCenter: languageComboBox.verticalCenter
|
||||
font.bold: true
|
||||
text: catalog.i18nc("@label","Opening and saving files")
|
||||
}
|
||||
TextField
|
||||
{
|
||||
id: currencyField
|
||||
text: UM.Preferences.getValue("cura/currency")
|
||||
onTextChanged: UM.Preferences.setValue("cura/currency", text)
|
||||
}
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
id: languageCaption
|
||||
UM.TooltipArea {
|
||||
width: childrenRect.width
|
||||
height: childrenRect.height
|
||||
text: catalog.i18nc("@info:tooltip","Should models be scaled to the build volume if they are too large?")
|
||||
|
||||
//: Language change warning
|
||||
text: catalog.i18nc("@label", "You will need to restart the application for language changes to have effect.")
|
||||
wrapMode: Text.WordWrap
|
||||
font.italic: true
|
||||
}
|
||||
|
||||
Item
|
||||
{
|
||||
//: Spacer
|
||||
height: UM.Theme.getSize("default_margin").height
|
||||
width: UM.Theme.getSize("default_margin").width
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
font.bold: true
|
||||
text: catalog.i18nc("@label","Viewport behavior")
|
||||
}
|
||||
|
||||
UM.TooltipArea
|
||||
{
|
||||
width: childrenRect.width;
|
||||
height: childrenRect.height;
|
||||
|
||||
text: catalog.i18nc("@info:tooltip","Highlight unsupported areas of the model in red. Without support these areas will not print properly.")
|
||||
|
||||
CheckBox
|
||||
{
|
||||
id: showOverhangCheckbox
|
||||
|
||||
checked: boolCheck(UM.Preferences.getValue("view/show_overhang"))
|
||||
onClicked: UM.Preferences.setValue("view/show_overhang", checked)
|
||||
|
||||
text: catalog.i18nc("@option:check","Display overhang");
|
||||
}
|
||||
}
|
||||
|
||||
UM.TooltipArea {
|
||||
width: childrenRect.width;
|
||||
height: childrenRect.height;
|
||||
text: catalog.i18nc("@info:tooltip","Moves the camera so the model is in the center of the view when an model is selected")
|
||||
|
||||
CheckBox
|
||||
{
|
||||
id: centerOnSelectCheckbox
|
||||
text: catalog.i18nc("@action:button","Center camera when item is selected");
|
||||
checked: boolCheck(UM.Preferences.getValue("view/center_on_select"))
|
||||
onClicked: UM.Preferences.setValue("view/center_on_select", checked)
|
||||
}
|
||||
}
|
||||
|
||||
UM.TooltipArea {
|
||||
width: childrenRect.width
|
||||
height: childrenRect.height
|
||||
text: catalog.i18nc("@info:tooltip", "Should models on the platform be moved so that they no longer intersect?")
|
||||
|
||||
CheckBox
|
||||
{
|
||||
id: pushFreeCheckbox
|
||||
text: catalog.i18nc("@option:check", "Ensure models are kept apart")
|
||||
checked: boolCheck(UM.Preferences.getValue("physics/automatic_push_free"))
|
||||
onCheckedChanged: UM.Preferences.setValue("physics/automatic_push_free", checked)
|
||||
}
|
||||
}
|
||||
UM.TooltipArea {
|
||||
width: childrenRect.width
|
||||
height: childrenRect.height
|
||||
text: catalog.i18nc("@info:tooltip", "Should models on the platform be moved down to touch the build plate?")
|
||||
|
||||
CheckBox
|
||||
{
|
||||
id: dropDownCheckbox
|
||||
text: catalog.i18nc("@option:check", "Automatically drop models to the build plate")
|
||||
checked: boolCheck(UM.Preferences.getValue("physics/automatic_drop_down"))
|
||||
onCheckedChanged: UM.Preferences.setValue("physics/automatic_drop_down", checked)
|
||||
}
|
||||
}
|
||||
|
||||
UM.TooltipArea {
|
||||
width: childrenRect.width;
|
||||
height: childrenRect.height;
|
||||
text: catalog.i18nc("@info:tooltip","Display 5 top layers in layer view or only the top-most layer. Rendering 5 layers takes longer, but may show more information.")
|
||||
|
||||
CheckBox
|
||||
{
|
||||
id: topLayerCountCheckbox
|
||||
text: catalog.i18nc("@action:button","Display five top layers in layer view");
|
||||
checked: UM.Preferences.getValue("view/top_layer_count") == 5
|
||||
onClicked:
|
||||
CheckBox
|
||||
{
|
||||
if(UM.Preferences.getValue("view/top_layer_count") == 5)
|
||||
{
|
||||
UM.Preferences.setValue("view/top_layer_count", 1)
|
||||
}
|
||||
else
|
||||
{
|
||||
UM.Preferences.setValue("view/top_layer_count", 5)
|
||||
}
|
||||
id: scaleToFitCheckbox
|
||||
text: catalog.i18nc("@option:check","Scale large models")
|
||||
checked: boolCheck(UM.Preferences.getValue("mesh/scale_to_fit"))
|
||||
onCheckedChanged: UM.Preferences.setValue("mesh/scale_to_fit", checked)
|
||||
}
|
||||
}
|
||||
}
|
||||
UM.TooltipArea {
|
||||
width: childrenRect.width
|
||||
height: childrenRect.height
|
||||
text: catalog.i18nc("@info:tooltip", "Should only the top layers be displayed in layerview?")
|
||||
|
||||
CheckBox
|
||||
{
|
||||
id: topLayersOnlyCheckbox
|
||||
text: catalog.i18nc("@option:check", "Only display top layer(s) in layer view")
|
||||
checked: boolCheck(UM.Preferences.getValue("view/only_show_top_layers"))
|
||||
onCheckedChanged: UM.Preferences.setValue("view/only_show_top_layers", checked)
|
||||
UM.TooltipArea {
|
||||
width: childrenRect.width
|
||||
height: childrenRect.height
|
||||
text: catalog.i18nc("@info:tooltip","An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?")
|
||||
|
||||
CheckBox
|
||||
{
|
||||
id: scaleTinyCheckbox
|
||||
text: catalog.i18nc("@option:check","Scale extremely small models")
|
||||
checked: boolCheck(UM.Preferences.getValue("mesh/scale_tiny_meshes"))
|
||||
onCheckedChanged: UM.Preferences.setValue("mesh/scale_tiny_meshes", checked)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Item
|
||||
{
|
||||
//: Spacer
|
||||
height: UM.Theme.getSize("default_margin").height
|
||||
width: UM.Theme.getSize("default_margin").height
|
||||
}
|
||||
UM.TooltipArea {
|
||||
width: childrenRect.width
|
||||
height: childrenRect.height
|
||||
text: catalog.i18nc("@info:tooltip", "Should a prefix based on the printer name be added to the print job name automatically?")
|
||||
|
||||
Label
|
||||
{
|
||||
font.bold: true
|
||||
text: catalog.i18nc("@label","Opening files")
|
||||
}
|
||||
|
||||
UM.TooltipArea {
|
||||
width: childrenRect.width
|
||||
height: childrenRect.height
|
||||
text: catalog.i18nc("@info:tooltip","Should models be scaled to the build volume if they are too large?")
|
||||
|
||||
CheckBox
|
||||
{
|
||||
id: scaleToFitCheckbox
|
||||
text: catalog.i18nc("@option:check","Scale large models")
|
||||
checked: boolCheck(UM.Preferences.getValue("mesh/scale_to_fit"))
|
||||
onCheckedChanged: UM.Preferences.setValue("mesh/scale_to_fit", checked)
|
||||
CheckBox
|
||||
{
|
||||
id: prefixJobNameCheckbox
|
||||
text: catalog.i18nc("@option:check", "Add machine prefix to job name")
|
||||
checked: boolCheck(UM.Preferences.getValue("cura/jobname_prefix"))
|
||||
onCheckedChanged: UM.Preferences.setValue("cura/jobname_prefix", checked)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
UM.TooltipArea {
|
||||
width: childrenRect.width
|
||||
height: childrenRect.height
|
||||
text: catalog.i18nc("@info:tooltip","An model may appear extremely small if its unit is for example in meters rather than millimeters. Should these models be scaled up?")
|
||||
UM.TooltipArea {
|
||||
width: childrenRect.width
|
||||
height: childrenRect.height
|
||||
text: catalog.i18nc("@info:tooltip", "Should a summary be shown when saving a project file?")
|
||||
|
||||
CheckBox
|
||||
{
|
||||
id: scaleTinyCheckbox
|
||||
text: catalog.i18nc("@option:check","Scale extremely small models")
|
||||
checked: boolCheck(UM.Preferences.getValue("mesh/scale_tiny_meshes"))
|
||||
onCheckedChanged: UM.Preferences.setValue("mesh/scale_tiny_meshes", checked)
|
||||
CheckBox
|
||||
{
|
||||
text: catalog.i18nc("@option:check", "Show summary dialog when saving project")
|
||||
checked: boolCheck(UM.Preferences.getValue("cura/dialog_on_project_save"))
|
||||
onCheckedChanged: UM.Preferences.setValue("cura/dialog_on_project_save", checked)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
UM.TooltipArea {
|
||||
width: childrenRect.width
|
||||
height: childrenRect.height
|
||||
text: catalog.i18nc("@info:tooltip", "Should a prefix based on the printer name be added to the print job name automatically?")
|
||||
|
||||
CheckBox
|
||||
Item
|
||||
{
|
||||
id: prefixJobNameCheckbox
|
||||
text: catalog.i18nc("@option:check", "Add machine prefix to job name")
|
||||
checked: boolCheck(UM.Preferences.getValue("cura/jobname_prefix"))
|
||||
onCheckedChanged: UM.Preferences.setValue("cura/jobname_prefix", checked)
|
||||
//: Spacer
|
||||
height: UM.Theme.getSize("default_margin").height
|
||||
width: UM.Theme.getSize("default_margin").height
|
||||
}
|
||||
}
|
||||
|
||||
UM.TooltipArea {
|
||||
width: childrenRect.width
|
||||
height: childrenRect.height
|
||||
text: catalog.i18nc("@info:tooltip", "Should a summary be shown when saving a project file?")
|
||||
|
||||
CheckBox
|
||||
Label
|
||||
{
|
||||
text: catalog.i18nc("@option:check", "Show summary dialog when saving project")
|
||||
checked: boolCheck(UM.Preferences.getValue("cura/dialog_on_project_save"))
|
||||
onCheckedChanged: UM.Preferences.setValue("cura/dialog_on_project_save", checked)
|
||||
font.bold: true
|
||||
visible: checkUpdatesCheckbox.visible || sendDataCheckbox.visible
|
||||
text: catalog.i18nc("@label","Privacy")
|
||||
}
|
||||
}
|
||||
|
||||
UM.TooltipArea {
|
||||
visible: plugins.find("id", "UpdateChecker") > -1
|
||||
width: childrenRect.width
|
||||
height: visible ? childrenRect.height : 0
|
||||
text: catalog.i18nc("@info:tooltip","Should Cura check for updates when the program is started?")
|
||||
|
||||
Item
|
||||
{
|
||||
//: Spacer
|
||||
height: UM.Theme.getSize("default_margin").height
|
||||
width: UM.Theme.getSize("default_margin").height
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
font.bold: true
|
||||
visible: checkUpdatesCheckbox.visible || sendDataCheckbox.visible
|
||||
text: catalog.i18nc("@label","Privacy")
|
||||
}
|
||||
|
||||
UM.TooltipArea {
|
||||
visible: plugins.find("id", "UpdateChecker") > -1
|
||||
width: childrenRect.width
|
||||
height: visible ? childrenRect.height : 0
|
||||
text: catalog.i18nc("@info:tooltip","Should Cura check for updates when the program is started?")
|
||||
|
||||
CheckBox
|
||||
{
|
||||
id: checkUpdatesCheckbox
|
||||
text: catalog.i18nc("@option:check","Check for updates on start")
|
||||
checked: boolCheck(UM.Preferences.getValue("info/automatic_update_check"))
|
||||
onCheckedChanged: UM.Preferences.setValue("info/automatic_update_check", checked)
|
||||
CheckBox
|
||||
{
|
||||
id: checkUpdatesCheckbox
|
||||
text: catalog.i18nc("@option:check","Check for updates on start")
|
||||
checked: boolCheck(UM.Preferences.getValue("info/automatic_update_check"))
|
||||
onCheckedChanged: UM.Preferences.setValue("info/automatic_update_check", checked)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
UM.TooltipArea {
|
||||
visible: plugins.find("id", "SliceInfoPlugin") > -1
|
||||
width: childrenRect.width
|
||||
height: visible ? childrenRect.height : 0
|
||||
text: catalog.i18nc("@info:tooltip","Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored.")
|
||||
UM.TooltipArea {
|
||||
visible: plugins.find("id", "SliceInfoPlugin") > -1
|
||||
width: childrenRect.width
|
||||
height: visible ? childrenRect.height : 0
|
||||
text: catalog.i18nc("@info:tooltip","Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored.")
|
||||
|
||||
CheckBox
|
||||
{
|
||||
id: sendDataCheckbox
|
||||
text: catalog.i18nc("@option:check","Send (anonymous) print information")
|
||||
checked: boolCheck(UM.Preferences.getValue("info/send_slice_info"))
|
||||
onCheckedChanged: UM.Preferences.setValue("info/send_slice_info", checked)
|
||||
CheckBox
|
||||
{
|
||||
id: sendDataCheckbox
|
||||
text: catalog.i18nc("@option:check","Send (anonymous) print information")
|
||||
checked: boolCheck(UM.Preferences.getValue("info/send_slice_info"))
|
||||
onCheckedChanged: UM.Preferences.setValue("info/send_slice_info", checked)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (c) 2016 Ultimaker B.V.
|
||||
// Copyright (c) 2017 Ultimaker B.V.
|
||||
// Cura is released under the terms of the AGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.2
|
||||
|
@ -12,7 +12,7 @@ import Cura 1.0 as Cura
|
|||
Column
|
||||
{
|
||||
id: printMonitor
|
||||
property var connectedPrinter: printerConnected ? Cura.MachineManager.printerOutputDevices[0] : null
|
||||
property var connectedPrinter: Cura.MachineManager.printerOutputDevices.length >= 1 ? Cura.MachineManager.printerOutputDevices[0] : null
|
||||
|
||||
Cura.ExtrudersModel
|
||||
{
|
||||
|
@ -20,47 +20,611 @@ Column
|
|||
simpleNames: true
|
||||
}
|
||||
|
||||
Item
|
||||
Rectangle
|
||||
{
|
||||
width: base.width - 2 * UM.Theme.getSize("default_margin").width
|
||||
height: childrenRect.height + UM.Theme.getSize("default_margin").height
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
||||
id: connectedPrinterHeader
|
||||
width: parent.width
|
||||
height: childrenRect.height + UM.Theme.getSize("default_margin").height * 2
|
||||
color: UM.Theme.getColor("setting_category")
|
||||
|
||||
Label
|
||||
{
|
||||
text: printerConnected ? connectedPrinter.connectionText : catalog.i18nc("@info:status", "The printer is not connected.")
|
||||
color: printerConnected && printerAcceptsCommands ? UM.Theme.getColor("setting_control_text") : UM.Theme.getColor("setting_control_disabled_text")
|
||||
font: UM.Theme.getFont("default")
|
||||
id: connectedPrinterNameLabel
|
||||
text: connectedPrinter != null ? connectedPrinter.name : catalog.i18nc("@info:status", "No printer connected")
|
||||
font: UM.Theme.getFont("large")
|
||||
color: UM.Theme.getColor("text")
|
||||
anchors.left: parent.left
|
||||
anchors.top: parent.top
|
||||
anchors.margins: UM.Theme.getSize("default_margin").width
|
||||
}
|
||||
Label
|
||||
{
|
||||
id: connectedPrinterAddressLabel
|
||||
text: (connectedPrinter != null && connectedPrinter.address != null) ? connectedPrinter.address : ""
|
||||
font: UM.Theme.getFont("small")
|
||||
color: UM.Theme.getColor("text_inactive")
|
||||
anchors.top: parent.top
|
||||
anchors.right: parent.right
|
||||
anchors.margins: UM.Theme.getSize("default_margin").width
|
||||
}
|
||||
Label
|
||||
{
|
||||
text: connectedPrinter != null ? connectedPrinter.connectionText : catalog.i18nc("@info:status", "The printer is not connected.")
|
||||
color: connectedPrinter != null && connectedPrinter.acceptsCommands ? UM.Theme.getColor("setting_control_text") : UM.Theme.getColor("setting_control_disabled_text")
|
||||
font: UM.Theme.getFont("very_small")
|
||||
wrapMode: Text.WordWrap
|
||||
width: parent.width
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: UM.Theme.getSize("default_margin").width
|
||||
anchors.top: connectedPrinterNameLabel.bottom
|
||||
}
|
||||
}
|
||||
|
||||
Loader
|
||||
Rectangle
|
||||
{
|
||||
sourceComponent: monitorSection
|
||||
property string label: catalog.i18nc("@label", "Temperatures")
|
||||
}
|
||||
Repeater
|
||||
{
|
||||
model: machineExtruderCount.properties.value
|
||||
delegate: Loader
|
||||
color: UM.Theme.getColor("sidebar_lining")
|
||||
width: parent.width
|
||||
height: childrenRect.height
|
||||
|
||||
Flow
|
||||
{
|
||||
sourceComponent: monitorItem
|
||||
property string label: machineExtruderCount.properties.value > 1 ? extrudersModel.getItem(index).name : catalog.i18nc("@label", "Hotend")
|
||||
property string value: printerConnected ? Math.round(connectedPrinter.hotendTemperatures[index]) + "°C" : ""
|
||||
id: extrudersGrid
|
||||
spacing: UM.Theme.getSize("sidebar_lining_thin").width
|
||||
width: parent.width
|
||||
|
||||
Repeater
|
||||
{
|
||||
id: extrudersRepeater
|
||||
model: machineExtruderCount.properties.value
|
||||
|
||||
delegate: Rectangle
|
||||
{
|
||||
id: extruderRectangle
|
||||
color: UM.Theme.getColor("sidebar")
|
||||
width: index == machineExtruderCount.properties.value - 1 && index % 2 == 0 ? extrudersGrid.width : extrudersGrid.width / 2 - UM.Theme.getSize("sidebar_lining_thin").width / 2
|
||||
height: UM.Theme.getSize("sidebar_extruder_box").height
|
||||
|
||||
Label //Extruder name.
|
||||
{
|
||||
text: ExtruderManager.getExtruderName(index) != "" ? ExtruderManager.getExtruderName(index) : catalog.i18nc("@label", "Hotend")
|
||||
color: UM.Theme.getColor("text")
|
||||
font: UM.Theme.getFont("default")
|
||||
anchors.left: parent.left
|
||||
anchors.top: parent.top
|
||||
anchors.margins: UM.Theme.getSize("default_margin").width
|
||||
}
|
||||
Label //Temperature indication.
|
||||
{
|
||||
id: extruderTemperature
|
||||
text: (connectedPrinter != null && connectedPrinter.hotendIds[index] != null && connectedPrinter.hotendTemperatures[index] != null) ? Math.round(connectedPrinter.hotendTemperatures[index]) + "°C" : ""
|
||||
color: UM.Theme.getColor("text")
|
||||
font: UM.Theme.getFont("large")
|
||||
anchors.right: parent.right
|
||||
anchors.top: parent.top
|
||||
anchors.margins: UM.Theme.getSize("default_margin").width
|
||||
|
||||
MouseArea //For tooltip.
|
||||
{
|
||||
id: extruderTemperatureTooltipArea
|
||||
hoverEnabled: true
|
||||
anchors.fill: parent
|
||||
onHoveredChanged:
|
||||
{
|
||||
if (containsMouse)
|
||||
{
|
||||
base.showTooltip(
|
||||
base,
|
||||
{x: 0, y: parent.mapToItem(base, 0, -parent.height / 4).y},
|
||||
catalog.i18nc("@tooltip", "The current temperature of this extruder.")
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
base.hideTooltip();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Rectangle //Material colour indication.
|
||||
{
|
||||
id: materialColor
|
||||
width: materialName.height * 0.75
|
||||
height: materialName.height * 0.75
|
||||
color: (connectedPrinter != null && connectedPrinter.materialColors[index] != null && connectedPrinter.materialIds[index] != "") ? connectedPrinter.materialColors[index] : "#00000000"
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
border.color: UM.Theme.getColor("lining")
|
||||
visible: connectedPrinter != null && connectedPrinter.materialColors[index] != null && connectedPrinter.materialIds[index] != ""
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
||||
anchors.verticalCenter: materialName.verticalCenter
|
||||
|
||||
MouseArea //For tooltip.
|
||||
{
|
||||
id: materialColorTooltipArea
|
||||
hoverEnabled: true
|
||||
anchors.fill: parent
|
||||
onHoveredChanged:
|
||||
{
|
||||
if (containsMouse)
|
||||
{
|
||||
base.showTooltip(
|
||||
base,
|
||||
{x: 0, y: parent.mapToItem(base, 0, -parent.height / 2).y},
|
||||
catalog.i18nc("@tooltip", "The colour of the material in this extruder.")
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
base.hideTooltip();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Label //Material name.
|
||||
{
|
||||
id: materialName
|
||||
text: (connectedPrinter != null && connectedPrinter.materialNames[index] != null && connectedPrinter.materialIds[index] != "") ? connectedPrinter.materialNames[index] : ""
|
||||
font: UM.Theme.getFont("default")
|
||||
color: UM.Theme.getColor("text")
|
||||
anchors.left: materialColor.right
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.margins: UM.Theme.getSize("default_margin").width
|
||||
|
||||
MouseArea //For tooltip.
|
||||
{
|
||||
id: materialNameTooltipArea
|
||||
hoverEnabled: true
|
||||
anchors.fill: parent
|
||||
onHoveredChanged:
|
||||
{
|
||||
if (containsMouse)
|
||||
{
|
||||
base.showTooltip(
|
||||
base,
|
||||
{x: 0, y: parent.mapToItem(base, 0, 0).y},
|
||||
catalog.i18nc("@tooltip", "The material in this extruder.")
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
base.hideTooltip();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Label //Variant name.
|
||||
{
|
||||
id: variantName
|
||||
text: (connectedPrinter != null && connectedPrinter.hotendIds[index] != null) ? connectedPrinter.hotendIds[index] : ""
|
||||
font: UM.Theme.getFont("default")
|
||||
color: UM.Theme.getColor("text")
|
||||
anchors.right: parent.right
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.margins: UM.Theme.getSize("default_margin").width
|
||||
|
||||
MouseArea //For tooltip.
|
||||
{
|
||||
id: variantNameTooltipArea
|
||||
hoverEnabled: true
|
||||
anchors.fill: parent
|
||||
onHoveredChanged:
|
||||
{
|
||||
if (containsMouse)
|
||||
{
|
||||
base.showTooltip(
|
||||
base,
|
||||
{x: 0, y: parent.mapToItem(base, 0, -parent.height / 4).y},
|
||||
catalog.i18nc("@tooltip", "The nozzle inserted in this extruder.")
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
base.hideTooltip();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Repeater
|
||||
|
||||
Rectangle
|
||||
{
|
||||
model: machineHeatedBed.properties.value == "True" ? 1 : 0
|
||||
delegate: Loader
|
||||
color: UM.Theme.getColor("sidebar_lining")
|
||||
width: parent.width
|
||||
height: UM.Theme.getSize("sidebar_lining_thin").width
|
||||
}
|
||||
|
||||
Rectangle
|
||||
{
|
||||
color: UM.Theme.getColor("sidebar")
|
||||
width: parent.width
|
||||
height: machineHeatedBed.properties.value == "True" ? UM.Theme.getSize("sidebar_extruder_box").height : 0
|
||||
visible: machineHeatedBed.properties.value == "True"
|
||||
|
||||
Label //Build plate label.
|
||||
{
|
||||
sourceComponent: monitorItem
|
||||
property string label: catalog.i18nc("@label", "Build plate")
|
||||
property string value: printerConnected ? Math.round(connectedPrinter.bedTemperature) + "°C" : ""
|
||||
text: catalog.i18nc("@label", "Build plate")
|
||||
font: UM.Theme.getFont("default")
|
||||
color: UM.Theme.getColor("text")
|
||||
anchors.left: parent.left
|
||||
anchors.top: parent.top
|
||||
anchors.margins: UM.Theme.getSize("default_margin").width
|
||||
}
|
||||
Label //Target temperature.
|
||||
{
|
||||
id: bedTargetTemperature
|
||||
text: connectedPrinter != null ? connectedPrinter.targetBedTemperature + "°C" : ""
|
||||
font: UM.Theme.getFont("small")
|
||||
color: UM.Theme.getColor("text_inactive")
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: UM.Theme.getSize("default_margin").width
|
||||
anchors.bottom: bedCurrentTemperature.bottom
|
||||
|
||||
MouseArea //For tooltip.
|
||||
{
|
||||
id: bedTargetTemperatureTooltipArea
|
||||
hoverEnabled: true
|
||||
anchors.fill: parent
|
||||
onHoveredChanged:
|
||||
{
|
||||
if (containsMouse)
|
||||
{
|
||||
base.showTooltip(
|
||||
base,
|
||||
{x: 0, y: bedTargetTemperature.mapToItem(base, 0, -parent.height / 4).y},
|
||||
catalog.i18nc("@tooltip", "The target temperature of the heated bed. The bed will heat up or cool down towards this temperature. If this is 0, the bed heating is turned off.")
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
base.hideTooltip();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Label //Current temperature.
|
||||
{
|
||||
id: bedCurrentTemperature
|
||||
text: connectedPrinter != null ? connectedPrinter.bedTemperature + "°C" : ""
|
||||
font: UM.Theme.getFont("large")
|
||||
color: UM.Theme.getColor("text")
|
||||
anchors.right: bedTargetTemperature.left
|
||||
anchors.top: parent.top
|
||||
anchors.margins: UM.Theme.getSize("default_margin").width
|
||||
|
||||
MouseArea //For tooltip.
|
||||
{
|
||||
id: bedTemperatureTooltipArea
|
||||
hoverEnabled: true
|
||||
anchors.fill: parent
|
||||
onHoveredChanged:
|
||||
{
|
||||
if (containsMouse)
|
||||
{
|
||||
base.showTooltip(
|
||||
base,
|
||||
{x: 0, y: bedCurrentTemperature.mapToItem(base, 0, -parent.height / 4).y},
|
||||
catalog.i18nc("@tooltip", "The current temperature of the heated bed.")
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
base.hideTooltip();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Rectangle //Input field for pre-heat temperature.
|
||||
{
|
||||
id: preheatTemperatureControl
|
||||
color: !enabled ? UM.Theme.getColor("setting_control_disabled") : UM.Theme.getColor("setting_validation_ok")
|
||||
enabled:
|
||||
{
|
||||
if (connectedPrinter == null)
|
||||
{
|
||||
return false; //Can't preheat if not connected.
|
||||
}
|
||||
if (!connectedPrinter.acceptsCommands)
|
||||
{
|
||||
return false; //Not allowed to do anything.
|
||||
}
|
||||
if (connectedPrinter.jobState == "printing" || connectedPrinter.jobState == "pre_print" || connectedPrinter.jobState == "resuming" || connectedPrinter.jobState == "pausing" || connectedPrinter.jobState == "paused" || connectedPrinter.jobState == "error" || connectedPrinter.jobState == "offline")
|
||||
{
|
||||
return false; //Printer is in a state where it can't react to pre-heating.
|
||||
}
|
||||
return true;
|
||||
}
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
border.color: !enabled ? UM.Theme.getColor("setting_control_disabled_border") : preheatTemperatureInputMouseArea.containsMouse ? UM.Theme.getColor("setting_control_border_highlight") : UM.Theme.getColor("setting_control_border")
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.bottomMargin: UM.Theme.getSize("default_margin").height
|
||||
width: UM.Theme.getSize("setting_control").width
|
||||
height: UM.Theme.getSize("setting_control").height
|
||||
|
||||
Rectangle //Highlight of input field.
|
||||
{
|
||||
anchors.fill: parent
|
||||
anchors.margins: UM.Theme.getSize("default_lining").width
|
||||
color: UM.Theme.getColor("setting_control_highlight")
|
||||
opacity: preheatTemperatureControl.hovered ? 1.0 : 0
|
||||
}
|
||||
Label //Maximum temperature indication.
|
||||
{
|
||||
text: (bedTemperature.properties.maximum_value != "None" ? bedTemperature.properties.maximum_value : "") + "°C"
|
||||
color: UM.Theme.getColor("setting_unit")
|
||||
font: UM.Theme.getFont("default")
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: UM.Theme.getSize("setting_unit_margin").width
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
MouseArea //Change cursor on hovering.
|
||||
{
|
||||
id: preheatTemperatureInputMouseArea
|
||||
hoverEnabled: true
|
||||
anchors.fill: parent
|
||||
cursorShape: Qt.IBeamCursor
|
||||
|
||||
onHoveredChanged:
|
||||
{
|
||||
if (containsMouse)
|
||||
{
|
||||
base.showTooltip(
|
||||
base,
|
||||
{x: 0, y: preheatTemperatureInputMouseArea.mapToItem(base, 0, 0).y},
|
||||
catalog.i18nc("@tooltip of temperature input", "The temperature to pre-heat the bed to.")
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
base.hideTooltip();
|
||||
}
|
||||
}
|
||||
}
|
||||
TextInput
|
||||
{
|
||||
id: preheatTemperatureInput
|
||||
font: UM.Theme.getFont("default")
|
||||
color: !enabled ? UM.Theme.getColor("setting_control_disabled_text") : UM.Theme.getColor("setting_control_text")
|
||||
selectByMouse: true
|
||||
maximumLength: 10
|
||||
enabled: parent.enabled
|
||||
validator: RegExpValidator { regExp: /^-?[0-9]{0,9}[.,]?[0-9]{0,10}$/ } //Floating point regex.
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.getSize("setting_unit_margin").width
|
||||
anchors.right: parent.right
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
|
||||
Component.onCompleted:
|
||||
{
|
||||
if ((bedTemperature.resolve != "None" && bedTemperature.resolve) && (bedTemperature.stackLevels[0] != 0) && (bedTemperature.stackLevels[0] != 1))
|
||||
{
|
||||
// We have a resolve function. Indicates that the setting is not settable per extruder and that
|
||||
// we have to choose between the resolved value (default) and the global value
|
||||
// (if user has explicitly set this).
|
||||
text = bedTemperature.resolve;
|
||||
}
|
||||
else
|
||||
{
|
||||
text = bedTemperature.properties.value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
UM.RecolorImage
|
||||
{
|
||||
id: preheatCountdownIcon
|
||||
width: UM.Theme.getSize("save_button_specs_icons").width
|
||||
height: UM.Theme.getSize("save_button_specs_icons").height
|
||||
sourceSize.width: width
|
||||
sourceSize.height: height
|
||||
color: UM.Theme.getColor("text")
|
||||
visible: preheatCountdown.visible
|
||||
source: UM.Theme.getIcon("print_time")
|
||||
anchors.right: preheatCountdown.left
|
||||
anchors.rightMargin: UM.Theme.getSize("default_margin").width / 2
|
||||
anchors.verticalCenter: preheatCountdown.verticalCenter
|
||||
}
|
||||
|
||||
Timer
|
||||
{
|
||||
id: preheatUpdateTimer
|
||||
interval: 100 //Update every 100ms. You want to update every 1s, but then you have one timer for the updating running out of sync with the actual date timer and you might skip seconds.
|
||||
running: connectedPrinter != null && connectedPrinter.preheatBedRemainingTime != ""
|
||||
repeat: true
|
||||
onTriggered: update()
|
||||
property var endTime: new Date() //Set initial endTime to be the current date, so that the endTime has initially already passed and the timer text becomes invisible if you were to update.
|
||||
function update()
|
||||
{
|
||||
preheatCountdown.text = ""
|
||||
if (connectedPrinter != null)
|
||||
{
|
||||
preheatCountdown.text = connectedPrinter.preheatBedRemainingTime;
|
||||
}
|
||||
if (preheatCountdown.text == "") //Either time elapsed or not connected.
|
||||
{
|
||||
stop();
|
||||
}
|
||||
}
|
||||
}
|
||||
Label
|
||||
{
|
||||
id: preheatCountdown
|
||||
text: connectedPrinter != null ? connectedPrinter.preheatBedRemainingTime : ""
|
||||
visible: text != "" //Has no direct effect, but just so that we can link visibility of clock icon to visibility of the countdown text.
|
||||
font: UM.Theme.getFont("default")
|
||||
color: UM.Theme.getColor("text")
|
||||
anchors.right: preheatButton.left
|
||||
anchors.rightMargin: UM.Theme.getSize("default_margin").width
|
||||
anchors.verticalCenter: preheatButton.verticalCenter
|
||||
}
|
||||
|
||||
Button //The pre-heat button.
|
||||
{
|
||||
id: preheatButton
|
||||
height: UM.Theme.getSize("setting_control").height
|
||||
enabled:
|
||||
{
|
||||
if (!preheatTemperatureControl.enabled)
|
||||
{
|
||||
return false; //Not connected, not authenticated or printer is busy.
|
||||
}
|
||||
if (preheatUpdateTimer.running)
|
||||
{
|
||||
return true; //Can always cancel if the timer is running.
|
||||
}
|
||||
if (bedTemperature.properties.minimum_value != "None" && parseInt(preheatTemperatureInput.text) < parseInt(bedTemperature.properties.minimum_value))
|
||||
{
|
||||
return false; //Target temperature too low.
|
||||
}
|
||||
if (bedTemperature.properties.maximum_value != "None" && parseInt(preheatTemperatureInput.text) > parseInt(bedTemperature.properties.maximum_value))
|
||||
{
|
||||
return false; //Target temperature too high.
|
||||
}
|
||||
if (parseInt(preheatTemperatureInput.text) == 0)
|
||||
{
|
||||
return false; //Setting the temperature to 0 is not allowed (since that cancels the pre-heating).
|
||||
}
|
||||
return true; //Preconditions are met.
|
||||
}
|
||||
anchors.right: parent.right
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.margins: UM.Theme.getSize("default_margin").width
|
||||
style: ButtonStyle {
|
||||
background: Rectangle
|
||||
{
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
implicitWidth: actualLabel.contentWidth + (UM.Theme.getSize("default_margin").width * 2)
|
||||
border.color:
|
||||
{
|
||||
if(!control.enabled)
|
||||
{
|
||||
return UM.Theme.getColor("action_button_disabled_border");
|
||||
}
|
||||
else if(control.pressed)
|
||||
{
|
||||
return UM.Theme.getColor("action_button_active_border");
|
||||
}
|
||||
else if(control.hovered)
|
||||
{
|
||||
return UM.Theme.getColor("action_button_hovered_border");
|
||||
}
|
||||
else
|
||||
{
|
||||
return UM.Theme.getColor("action_button_border");
|
||||
}
|
||||
}
|
||||
color:
|
||||
{
|
||||
if(!control.enabled)
|
||||
{
|
||||
return UM.Theme.getColor("action_button_disabled");
|
||||
}
|
||||
else if(control.pressed)
|
||||
{
|
||||
return UM.Theme.getColor("action_button_active");
|
||||
}
|
||||
else if(control.hovered)
|
||||
{
|
||||
return UM.Theme.getColor("action_button_hovered");
|
||||
}
|
||||
else
|
||||
{
|
||||
return UM.Theme.getColor("action_button");
|
||||
}
|
||||
}
|
||||
Behavior on color
|
||||
{
|
||||
ColorAnimation
|
||||
{
|
||||
duration: 50
|
||||
}
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
id: actualLabel
|
||||
anchors.centerIn: parent
|
||||
color:
|
||||
{
|
||||
if(!control.enabled)
|
||||
{
|
||||
return UM.Theme.getColor("action_button_disabled_text");
|
||||
}
|
||||
else if(control.pressed)
|
||||
{
|
||||
return UM.Theme.getColor("action_button_active_text");
|
||||
}
|
||||
else if(control.hovered)
|
||||
{
|
||||
return UM.Theme.getColor("action_button_hovered_text");
|
||||
}
|
||||
else
|
||||
{
|
||||
return UM.Theme.getColor("action_button_text");
|
||||
}
|
||||
}
|
||||
font: UM.Theme.getFont("action_button")
|
||||
text: preheatUpdateTimer.running ? catalog.i18nc("@button Cancel pre-heating", "Cancel") : catalog.i18nc("@button", "Pre-heat")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
onClicked:
|
||||
{
|
||||
if (!preheatUpdateTimer.running)
|
||||
{
|
||||
connectedPrinter.preheatBed(preheatTemperatureInput.text, connectedPrinter.preheatBedTimeout);
|
||||
preheatUpdateTimer.start();
|
||||
preheatUpdateTimer.update(); //Update once before the first timer is triggered.
|
||||
}
|
||||
else
|
||||
{
|
||||
connectedPrinter.cancelPreheatBed();
|
||||
preheatUpdateTimer.update();
|
||||
}
|
||||
}
|
||||
|
||||
onHoveredChanged:
|
||||
{
|
||||
if (hovered)
|
||||
{
|
||||
base.showTooltip(
|
||||
base,
|
||||
{x: 0, y: preheatButton.mapToItem(base, 0, 0).y},
|
||||
catalog.i18nc("@tooltip of pre-heat", "Heat the bed in advance before printing. You can continue adjusting your print while it is heating, and you won't have to wait for the bed to heat up when you're ready to print.")
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
base.hideTooltip();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
UM.SettingPropertyProvider
|
||||
{
|
||||
id: bedTemperature
|
||||
containerStackId: Cura.MachineManager.activeMachineId
|
||||
key: "material_bed_temperature"
|
||||
watchedProperties: ["value", "minimum_value", "maximum_value", "resolve"]
|
||||
storeIndex: 0
|
||||
|
||||
property var resolve: Cura.MachineManager.activeStackId != Cura.MachineManager.activeMachineId ? properties.resolve : "None"
|
||||
}
|
||||
|
||||
UM.SettingPropertyProvider
|
||||
{
|
||||
id: machineExtruderCount
|
||||
containerStackId: Cura.MachineManager.activeMachineId
|
||||
key: "machine_extruder_count"
|
||||
watchedProperties: ["value"]
|
||||
}
|
||||
|
||||
Loader
|
||||
|
@ -72,19 +636,19 @@ Column
|
|||
{
|
||||
sourceComponent: monitorItem
|
||||
property string label: catalog.i18nc("@label", "Job Name")
|
||||
property string value: printerConnected ? connectedPrinter.jobName : ""
|
||||
property string value: connectedPrinter != null ? connectedPrinter.jobName : ""
|
||||
}
|
||||
Loader
|
||||
{
|
||||
sourceComponent: monitorItem
|
||||
property string label: catalog.i18nc("@label", "Printing Time")
|
||||
property string value: printerConnected ? getPrettyTime(connectedPrinter.timeTotal) : ""
|
||||
property string value: connectedPrinter != null ? getPrettyTime(connectedPrinter.timeTotal) : ""
|
||||
}
|
||||
Loader
|
||||
{
|
||||
sourceComponent: monitorItem
|
||||
property string label: catalog.i18nc("@label", "Estimated time left")
|
||||
property string value: printerConnected ? getPrettyTime(connectedPrinter.timeTotal - connectedPrinter.timeElapsed) : ""
|
||||
property string value: connectedPrinter != null ? getPrettyTime(connectedPrinter.timeTotal - connectedPrinter.timeElapsed) : ""
|
||||
}
|
||||
|
||||
Component
|
||||
|
@ -103,7 +667,7 @@ Column
|
|||
width: parent.width * 0.4
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
text: label
|
||||
color: printerConnected && printerAcceptsCommands ? UM.Theme.getColor("setting_control_text") : UM.Theme.getColor("setting_control_disabled_text")
|
||||
color: connectedPrinter != null && connectedPrinter.acceptsCommands ? UM.Theme.getColor("setting_control_text") : UM.Theme.getColor("setting_control_disabled_text")
|
||||
font: UM.Theme.getFont("default")
|
||||
elide: Text.ElideRight
|
||||
}
|
||||
|
@ -112,7 +676,7 @@ Column
|
|||
width: parent.width * 0.6
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
text: value
|
||||
color: printerConnected && printerAcceptsCommands ? UM.Theme.getColor("setting_control_text") : UM.Theme.getColor("setting_control_disabled_text")
|
||||
color: connectedPrinter != null && connectedPrinter.acceptsCommands ? UM.Theme.getColor("setting_control_text") : UM.Theme.getColor("setting_control_disabled_text")
|
||||
font: UM.Theme.getFont("default")
|
||||
elide: Text.ElideRight
|
||||
}
|
||||
|
@ -125,7 +689,7 @@ Column
|
|||
Rectangle
|
||||
{
|
||||
color: UM.Theme.getColor("setting_category")
|
||||
width: base.width - 2 * UM.Theme.getSize("default_margin").width
|
||||
width: base.width
|
||||
height: UM.Theme.getSize("section").height
|
||||
|
||||
Label
|
||||
|
|
|
@ -14,7 +14,10 @@ Item {
|
|||
|
||||
property real progress: UM.Backend.progress;
|
||||
property int backendState: UM.Backend.state;
|
||||
property bool activity: Printer.getPlatformActivity;
|
||||
|
||||
property var backend: CuraApplication.getBackend();
|
||||
property bool activity: Printer.platformActivity;
|
||||
|
||||
property int totalHeight: childrenRect.height + UM.Theme.getSize("default_margin").height
|
||||
property string fileBaseName
|
||||
property string statusText:
|
||||
|
@ -27,7 +30,7 @@ Item {
|
|||
switch(base.backendState)
|
||||
{
|
||||
case 1:
|
||||
return catalog.i18nc("@label:PrintjobStatus", "Preparing to slice...");
|
||||
return catalog.i18nc("@label:PrintjobStatus", "Ready to slice");
|
||||
case 2:
|
||||
return catalog.i18nc("@label:PrintjobStatus", "Slicing...");
|
||||
case 3:
|
||||
|
@ -102,11 +105,107 @@ Item {
|
|||
}
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: UM.Preferences
|
||||
onPreferenceChanged:
|
||||
{
|
||||
var autoSlice = UM.Preferences.getValue("general/auto_slice");
|
||||
prepareButton.autoSlice = autoSlice;
|
||||
saveToButton.autoSlice = autoSlice;
|
||||
}
|
||||
}
|
||||
|
||||
// Prepare button, only shows if auto_slice is off
|
||||
Button {
|
||||
id: prepareButton
|
||||
|
||||
tooltip: UM.OutputDeviceManager.activeDeviceDescription;
|
||||
// 1 = not started, 2 = Processing
|
||||
enabled: (base.backendState == 1 || base.backendState == 2) && base.activity == true
|
||||
visible: {
|
||||
return !autoSlice && (base.backendState == 1 || base.backendState == 2) && base.activity == true;
|
||||
}
|
||||
property bool autoSlice
|
||||
height: UM.Theme.getSize("save_button_save_to_button").height
|
||||
|
||||
anchors.top: parent.top
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: UM.Theme.getSize("default_margin").width
|
||||
|
||||
// 1 = not started, 5 = disabled
|
||||
text: [1, 5].indexOf(UM.Backend.state) != -1 ? catalog.i18nc("@label:Printjob", "Prepare") : catalog.i18nc("@label:Printjob", "Cancel")
|
||||
onClicked:
|
||||
{
|
||||
if ([1, 5].indexOf(UM.Backend.state) != -1) {
|
||||
backend.forceSlice();
|
||||
} else {
|
||||
backend.stopSlicing();
|
||||
}
|
||||
}
|
||||
|
||||
style: ButtonStyle {
|
||||
background: Rectangle
|
||||
{
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
border.color:
|
||||
{
|
||||
if(!control.enabled)
|
||||
return UM.Theme.getColor("action_button_disabled_border");
|
||||
else if(control.pressed)
|
||||
return UM.Theme.getColor("action_button_active_border");
|
||||
else if(control.hovered)
|
||||
return UM.Theme.getColor("action_button_hovered_border");
|
||||
else
|
||||
return UM.Theme.getColor("action_button_border");
|
||||
}
|
||||
color:
|
||||
{
|
||||
if(!control.enabled)
|
||||
return UM.Theme.getColor("action_button_disabled");
|
||||
else if(control.pressed)
|
||||
return UM.Theme.getColor("action_button_active");
|
||||
else if(control.hovered)
|
||||
return UM.Theme.getColor("action_button_hovered");
|
||||
else
|
||||
return UM.Theme.getColor("action_button");
|
||||
}
|
||||
|
||||
Behavior on color { ColorAnimation { duration: 50; } }
|
||||
|
||||
implicitWidth: actualLabel.contentWidth + (UM.Theme.getSize("default_margin").width * 2)
|
||||
|
||||
Label {
|
||||
id: actualLabel
|
||||
anchors.centerIn: parent
|
||||
color:
|
||||
{
|
||||
if(!control.enabled)
|
||||
return UM.Theme.getColor("action_button_disabled_text");
|
||||
else if(control.pressed)
|
||||
return UM.Theme.getColor("action_button_active_text");
|
||||
else if(control.hovered)
|
||||
return UM.Theme.getColor("action_button_hovered_text");
|
||||
else
|
||||
return UM.Theme.getColor("action_button_text");
|
||||
}
|
||||
font: UM.Theme.getFont("action_button")
|
||||
text: control.text;
|
||||
}
|
||||
}
|
||||
label: Item { }
|
||||
}
|
||||
}
|
||||
|
||||
Button {
|
||||
id: saveToButton
|
||||
|
||||
tooltip: UM.OutputDeviceManager.activeDeviceDescription;
|
||||
// 3 = done, 5 = disabled
|
||||
enabled: (base.backendState == 3 || base.backendState == 5) && base.activity == true
|
||||
visible: {
|
||||
return autoSlice || ((base.backendState == 3 || base.backendState == 5) && base.activity == true);
|
||||
}
|
||||
property bool autoSlice
|
||||
height: UM.Theme.getSize("save_button_save_to_button").height
|
||||
|
||||
anchors.top: parent.top
|
||||
|
@ -181,8 +280,9 @@ Item {
|
|||
anchors.rightMargin: UM.Theme.getSize("default_margin").width
|
||||
width: UM.Theme.getSize("save_button_save_to_button").height
|
||||
height: UM.Theme.getSize("save_button_save_to_button").height
|
||||
// 3 = Done, 5 = Disabled
|
||||
enabled: (base.backendState == 3 || base.backendState == 5) && base.activity == true
|
||||
visible: devicesModel.deviceCount > 1
|
||||
visible: (devicesModel.deviceCount > 1) && (base.backendState == 3 || base.backendState == 5) && base.activity == true
|
||||
|
||||
|
||||
style: ButtonStyle {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (c) 2015 Ultimaker B.V.
|
||||
// Copyright (c) 2017 Ultimaker B.V.
|
||||
// Cura is released under the terms of the AGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.2
|
||||
|
@ -15,7 +15,7 @@ Rectangle
|
|||
id: base;
|
||||
|
||||
property int currentModeIndex;
|
||||
property bool monitoringPrint: false
|
||||
property bool monitoringPrint: false; // When adding more "tabs", one want to replace this bool with a ListModel
|
||||
property bool hideSettings: PrintInformation.preSliced
|
||||
Connections
|
||||
{
|
||||
|
@ -31,6 +31,7 @@ Rectangle
|
|||
// Is there an output device for this printer?
|
||||
property bool printerConnected: Cura.MachineManager.printerOutputDevices.length != 0
|
||||
property bool printerAcceptsCommands: printerConnected && Cura.MachineManager.printerOutputDevices[0].acceptsCommands
|
||||
property int backendState: UM.Backend.state;
|
||||
|
||||
color: UM.Theme.getColor("sidebar")
|
||||
UM.I18nCatalog { id: catalog; name:"cura"}
|
||||
|
@ -455,19 +456,6 @@ Rectangle
|
|||
}
|
||||
}
|
||||
|
||||
Label {
|
||||
id: monitorLabel
|
||||
text: catalog.i18nc("@label","Printer Monitor");
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.getSize("default_margin").width;
|
||||
anchors.top: headerSeparator.bottom
|
||||
anchors.topMargin: UM.Theme.getSize("default_margin").height
|
||||
width: parent.width * 0.45
|
||||
font: UM.Theme.getFont("large")
|
||||
color: UM.Theme.getColor("text")
|
||||
visible: monitoringPrint
|
||||
}
|
||||
|
||||
StackView
|
||||
{
|
||||
id: sidebarContents
|
||||
|
@ -511,10 +499,8 @@ Rectangle
|
|||
Loader
|
||||
{
|
||||
anchors.bottom: footerSeparator.top
|
||||
anchors.top: monitorLabel.bottom
|
||||
anchors.topMargin: UM.Theme.getSize("default_margin").height
|
||||
anchors.top: headerSeparator.bottom
|
||||
anchors.left: base.left
|
||||
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
||||
anchors.right: base.right
|
||||
source: monitoringPrint ? "PrintMonitor.qml": "SidebarContents.qml"
|
||||
}
|
||||
|
@ -529,6 +515,8 @@ Rectangle
|
|||
anchors.bottomMargin: UM.Theme.getSize("default_margin").height
|
||||
}
|
||||
|
||||
// SaveButton and MonitorButton are actually the bottom footer panels.
|
||||
// "!monitoringPrint" currently means "show-settings-mode"
|
||||
SaveButton
|
||||
{
|
||||
id: saveButton
|
||||
|
@ -553,6 +541,7 @@ Rectangle
|
|||
id: tooltip;
|
||||
}
|
||||
|
||||
// Setting mode: Recommended or Custom
|
||||
ListModel
|
||||
{
|
||||
id: modesListModel;
|
||||
|
|
|
@ -398,7 +398,7 @@ Item
|
|||
style: UM.Theme.styles.checkbox;
|
||||
enabled: base.settingsEnabled
|
||||
|
||||
checked: platformAdhesionType.properties.value != "skirt"
|
||||
checked: platformAdhesionType.properties.value != "skirt" && platformAdhesionType.properties.value != "none"
|
||||
|
||||
MouseArea
|
||||
{
|
||||
|
|
22
resources/quality/abax_pri3/apri3_pla_fast.inst.cfg
Normal file
22
resources/quality/abax_pri3/apri3_pla_fast.inst.cfg
Normal file
|
@ -0,0 +1,22 @@
|
|||
|
||||
[general]
|
||||
version = 2
|
||||
name = Normal Quality
|
||||
definition = abax_pri3
|
||||
|
||||
[metadata]
|
||||
type = quality
|
||||
material = generic_pla
|
||||
weight = 0
|
||||
quality_type = normal
|
||||
|
||||
[values]
|
||||
layer_height = 0.2
|
||||
wall_thickness = 1.05
|
||||
top_bottom_thickness = 0.8
|
||||
infill_sparse_density = 20
|
||||
speed_print = 80
|
||||
speed_layer_0 = =round(speed_print * 30 / 50)
|
||||
speed_topbottom = 20
|
||||
cool_min_layer_time = 5
|
||||
cool_min_speed = 10
|
22
resources/quality/abax_pri3/apri3_pla_high.inst.cfg
Normal file
22
resources/quality/abax_pri3/apri3_pla_high.inst.cfg
Normal file
|
@ -0,0 +1,22 @@
|
|||
|
||||
[general]
|
||||
version = 2
|
||||
name = High Quality
|
||||
definition = abax_pri3
|
||||
|
||||
[metadata]
|
||||
type = quality
|
||||
material = generic_pla
|
||||
weight = 1
|
||||
quality_type = high
|
||||
|
||||
[values]
|
||||
layer_height = 0.1
|
||||
wall_thickness = 1.05
|
||||
top_bottom_thickness = 0.8
|
||||
infill_sparse_density = 20
|
||||
speed_print = 50
|
||||
speed_layer_0 = =round(speed_print * 30 / 50)
|
||||
speed_topbottom = 20
|
||||
cool_min_layer_time = 5
|
||||
cool_min_speed = 10
|
22
resources/quality/abax_pri3/apri3_pla_normal.inst.cfg
Normal file
22
resources/quality/abax_pri3/apri3_pla_normal.inst.cfg
Normal file
|
@ -0,0 +1,22 @@
|
|||
|
||||
[general]
|
||||
version = 2
|
||||
name = Normal Quality
|
||||
definition = abax_pri3
|
||||
|
||||
[metadata]
|
||||
type = quality
|
||||
material = generic_pla
|
||||
weight = 0
|
||||
quality_type = normal
|
||||
|
||||
[values]
|
||||
layer_height = 0.2
|
||||
wall_thickness = 1.05
|
||||
top_bottom_thickness = 0.8
|
||||
infill_sparse_density = 20
|
||||
speed_print = 50
|
||||
speed_layer_0 = =round(speed_print * 30 / 50)
|
||||
speed_topbottom = 20
|
||||
cool_min_layer_time = 5
|
||||
cool_min_speed = 10
|
22
resources/quality/abax_pri5/apri5_pla_fast.inst.cfg
Normal file
22
resources/quality/abax_pri5/apri5_pla_fast.inst.cfg
Normal file
|
@ -0,0 +1,22 @@
|
|||
|
||||
[general]
|
||||
version = 2
|
||||
name = Normal Quality
|
||||
definition = abax_pri5
|
||||
|
||||
[metadata]
|
||||
type = quality
|
||||
material = generic_pla
|
||||
weight = 0
|
||||
quality_type = normal
|
||||
|
||||
[values]
|
||||
layer_height = 0.2
|
||||
wall_thickness = 1.05
|
||||
top_bottom_thickness = 0.8
|
||||
infill_sparse_density = 20
|
||||
speed_print = 80
|
||||
speed_layer_0 = =round(speed_print * 30 / 50)
|
||||
speed_topbottom = 20
|
||||
cool_min_layer_time = 5
|
||||
cool_min_speed = 10
|
22
resources/quality/abax_pri5/apri5_pla_high.inst.cfg
Normal file
22
resources/quality/abax_pri5/apri5_pla_high.inst.cfg
Normal file
|
@ -0,0 +1,22 @@
|
|||
|
||||
[general]
|
||||
version = 2
|
||||
name = High Quality
|
||||
definition = abax_pri5
|
||||
|
||||
[metadata]
|
||||
type = quality
|
||||
material = generic_pla
|
||||
weight = 1
|
||||
quality_type = high
|
||||
|
||||
[values]
|
||||
layer_height = 0.1
|
||||
wall_thickness = 1.05
|
||||
top_bottom_thickness = 0.8
|
||||
infill_sparse_density = 20
|
||||
speed_print = 50
|
||||
speed_layer_0 = =round(speed_print * 30 / 50)
|
||||
speed_topbottom = 20
|
||||
cool_min_layer_time = 5
|
||||
cool_min_speed = 10
|
22
resources/quality/abax_pri5/apri5_pla_normal.inst.cfg
Normal file
22
resources/quality/abax_pri5/apri5_pla_normal.inst.cfg
Normal file
|
@ -0,0 +1,22 @@
|
|||
|
||||
[general]
|
||||
version = 2
|
||||
name = Normal Quality
|
||||
definition = abax_pri5
|
||||
|
||||
[metadata]
|
||||
type = quality
|
||||
material = generic_pla
|
||||
weight = 0
|
||||
quality_type = normal
|
||||
|
||||
[values]
|
||||
layer_height = 0.2
|
||||
wall_thickness = 1.05
|
||||
top_bottom_thickness = 0.8
|
||||
infill_sparse_density = 20
|
||||
speed_print = 50
|
||||
speed_layer_0 = =round(speed_print * 30 / 50)
|
||||
speed_topbottom = 20
|
||||
cool_min_layer_time = 5
|
||||
cool_min_speed = 10
|
22
resources/quality/abax_titan/atitan_pla_fast.inst.cfg
Normal file
22
resources/quality/abax_titan/atitan_pla_fast.inst.cfg
Normal file
|
@ -0,0 +1,22 @@
|
|||
|
||||
[general]
|
||||
version = 2
|
||||
name = Normal Quality
|
||||
definition = abax_titan
|
||||
|
||||
[metadata]
|
||||
type = quality
|
||||
material = generic_pla
|
||||
weight = 0
|
||||
quality_type = normal
|
||||
|
||||
[values]
|
||||
layer_height = 0.2
|
||||
wall_thickness = 1.05
|
||||
top_bottom_thickness = 0.8
|
||||
infill_sparse_density = 20
|
||||
speed_print = 80
|
||||
speed_layer_0 = =round(speed_print * 30 / 50)
|
||||
speed_topbottom = 20
|
||||
cool_min_layer_time = 5
|
||||
cool_min_speed = 10
|
21
resources/quality/abax_titan/atitan_pla_high.inst.cfg
Normal file
21
resources/quality/abax_titan/atitan_pla_high.inst.cfg
Normal file
|
@ -0,0 +1,21 @@
|
|||
|
||||
[general]
|
||||
version = 2
|
||||
name = High Quality
|
||||
definition = abax_titan
|
||||
[metadata]
|
||||
type = quality
|
||||
material = generic_pla
|
||||
weight = 1
|
||||
quality_type = high
|
||||
|
||||
[values]
|
||||
layer_height = 0.1
|
||||
wall_thickness = 1.05
|
||||
top_bottom_thickness = 0.8
|
||||
infill_sparse_density = 20
|
||||
speed_print = 50
|
||||
speed_layer_0 = =round(speed_print * 30 / 50)
|
||||
speed_topbottom = 20
|
||||
cool_min_layer_time = 5
|
||||
cool_min_speed = 10
|
22
resources/quality/abax_titan/atitan_pla_normal.inst.cfg
Normal file
22
resources/quality/abax_titan/atitan_pla_normal.inst.cfg
Normal file
|
@ -0,0 +1,22 @@
|
|||
|
||||
[general]
|
||||
version = 2
|
||||
name = Normal Quality
|
||||
definition = abax_titan
|
||||
|
||||
[metadata]
|
||||
type = quality
|
||||
material = generic_pla
|
||||
weight = 0
|
||||
quality_type = normal
|
||||
|
||||
[values]
|
||||
layer_height = 0.2
|
||||
wall_thickness = 1.05
|
||||
top_bottom_thickness = 0.8
|
||||
infill_sparse_density = 20
|
||||
speed_print = 50
|
||||
speed_layer_0 = =round(speed_print * 30 / 50)
|
||||
speed_topbottom = 20
|
||||
cool_min_layer_time = 5
|
||||
cool_min_speed = 10
|
|
@ -18,7 +18,7 @@ material_final_print_temperature = =material_print_temperature - 10
|
|||
prime_tower_size = 16
|
||||
skin_overlap = 20
|
||||
speed_print = 60
|
||||
speed_layer_0 = =round(speed_print * 30 / 60)
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =math.ceil(speed_print * 35 / 60)
|
||||
speed_wall = =math.ceil(speed_print * 45 / 60)
|
||||
speed_wall_0 = =math.ceil(speed_wall * 35 / 45)
|
||||
|
|
|
@ -19,7 +19,7 @@ material_final_print_temperature = =material_print_temperature - 10
|
|||
material_standby_temperature = 100
|
||||
prime_tower_size = 16
|
||||
speed_print = 60
|
||||
speed_layer_0 = =round(speed_print * 30 / 60)
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =math.ceil(speed_print * 30 / 60)
|
||||
speed_wall = =math.ceil(speed_print * 40 / 60)
|
||||
speed_wall_0 = =math.ceil(speed_wall * 30 / 40)
|
||||
|
|
|
@ -19,7 +19,7 @@ material_initial_print_temperature = =material_print_temperature - 5
|
|||
material_final_print_temperature = =material_print_temperature - 10
|
||||
prime_tower_size = 16
|
||||
speed_print = 50
|
||||
speed_layer_0 = =round(speed_print * 30 / 50)
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =math.ceil(speed_print * 30 / 50)
|
||||
speed_wall = =math.ceil(speed_print * 30 / 50)
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ material_final_print_temperature = =material_print_temperature - 10
|
|||
material_standby_temperature = 100
|
||||
prime_tower_size = 16
|
||||
speed_print = 55
|
||||
speed_layer_0 = =round(speed_print * 30 / 55)
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =math.ceil(speed_print * 30 / 55)
|
||||
speed_wall = =math.ceil(speed_print * 30 / 55)
|
||||
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
[general]
|
||||
version = 2
|
||||
name = Draft Print
|
||||
definition = ultimaker3
|
||||
|
||||
[metadata]
|
||||
type = quality
|
||||
quality_type = draft
|
||||
material = generic_cpe_plus_ultimaker3_AA_0.4
|
||||
weight = -2
|
||||
|
||||
[values]
|
||||
brim_width = 7
|
||||
cool_fan_speed_max = 80
|
||||
cool_min_speed = 5
|
||||
infill_wipe_dist = 0
|
||||
layer_height = 0.2
|
||||
machine_nozzle_cool_down_speed = 0.9
|
||||
machine_nozzle_heat_up_speed = 1.4
|
||||
material_initial_print_temperature = =material_print_temperature - 5
|
||||
material_final_print_temperature = =material_print_temperature - 10
|
||||
material_print_temperature = =default_material_print_temperature + 5
|
||||
prime_tower_size = 17
|
||||
retraction_combing = off
|
||||
retraction_hop = 0.2
|
||||
retraction_hop_enabled = False
|
||||
retraction_min_travel = =5
|
||||
retraction_prime_speed = =15
|
||||
speed_topbottom = =math.ceil(speed_print * 65 / 50)
|
||||
speed_wall = =math.ceil(speed_print * 50 / 50)
|
||||
speed_wall_0 = =math.ceil(speed_wall * 40 / 50)
|
||||
support_z_distance = =layer_height
|
||||
switch_extruder_prime_speed = =15
|
||||
switch_extruder_retraction_amount = =8
|
||||
switch_extruder_retraction_speeds = 20
|
||||
wall_thickness = 1
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
[general]
|
||||
version = 2
|
||||
name = Fast Print
|
||||
definition = ultimaker3
|
||||
|
||||
[metadata]
|
||||
type = quality
|
||||
quality_type = fast
|
||||
material = generic_cpe_plus_ultimaker3_AA_0.4
|
||||
weight = -1
|
||||
|
||||
[values]
|
||||
brim_width = 7
|
||||
cool_fan_speed_max = 80
|
||||
cool_min_speed = 6
|
||||
infill_wipe_dist = 0
|
||||
layer_height = 0.15
|
||||
machine_nozzle_cool_down_speed = 0.9
|
||||
machine_nozzle_heat_up_speed = 1.4
|
||||
material_initial_print_temperature = =material_print_temperature - 5
|
||||
material_final_print_temperature = =material_print_temperature - 10
|
||||
material_print_temperature = =default_material_print_temperature + 5
|
||||
prime_tower_size = 17
|
||||
retraction_combing = off
|
||||
retraction_hop = 0.2
|
||||
retraction_hop_enabled = False
|
||||
retraction_min_travel = =5
|
||||
retraction_prime_speed = =15
|
||||
speed_print = 45
|
||||
speed_topbottom = =math.ceil(speed_print * 55 / 45)
|
||||
speed_wall = =math.ceil(speed_print * 45 / 45)
|
||||
speed_wall_0 = =math.ceil(speed_wall * 35 / 45)
|
||||
support_z_distance = =layer_height
|
||||
switch_extruder_prime_speed = =15
|
||||
switch_extruder_retraction_amount = =8
|
||||
switch_extruder_retraction_speeds = 20
|
||||
wall_thickness = 1.3
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
[general]
|
||||
version = 2
|
||||
name = High Quality
|
||||
definition = ultimaker3
|
||||
|
||||
[metadata]
|
||||
type = quality
|
||||
quality_type = high
|
||||
material = generic_cpe_plus_ultimaker3_AA_0.4
|
||||
weight = 1
|
||||
|
||||
[values]
|
||||
brim_width = 7
|
||||
cool_min_speed = 5
|
||||
infill_wipe_dist = 0
|
||||
layer_height = 0.06
|
||||
material_initial_print_temperature = =material_print_temperature - 5
|
||||
material_final_print_temperature = =material_print_temperature - 10
|
||||
material_print_temperature = =default_material_print_temperature - 3
|
||||
prime_tower_size = 17
|
||||
retraction_combing = off
|
||||
retraction_hop = 0.2
|
||||
retraction_hop_enabled = False
|
||||
retraction_min_travel = =5
|
||||
retraction_prime_speed = =15
|
||||
speed_print = 40
|
||||
speed_topbottom = =math.ceil(speed_print * 30 / 35)
|
||||
speed_wall = =math.ceil(speed_print * 35 / 40)
|
||||
speed_wall_0 = =math.ceil(speed_wall * 30 / 35)
|
||||
support_z_distance = =layer_height
|
||||
switch_extruder_prime_speed = =15
|
||||
switch_extruder_retraction_amount = =8
|
||||
switch_extruder_retraction_speeds = 20
|
||||
wall_thickness = 1.3
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
[general]
|
||||
version = 2
|
||||
name = Normal Quality
|
||||
definition = ultimaker3
|
||||
|
||||
[metadata]
|
||||
type = quality
|
||||
quality_type = normal
|
||||
material = generic_cpe_plus_ultimaker3_AA_0.4
|
||||
weight = 0
|
||||
|
||||
[values]
|
||||
brim_width = 7
|
||||
cool_min_speed = 7
|
||||
infill_wipe_dist = 0
|
||||
material_initial_print_temperature = =material_print_temperature - 5
|
||||
material_final_print_temperature = =material_print_temperature - 10
|
||||
material_print_temperature = =default_material_print_temperature
|
||||
prime_tower_size = 17
|
||||
retraction_combing = off
|
||||
retraction_hop = 0.2
|
||||
retraction_hop_enabled = False
|
||||
retraction_min_travel = =5
|
||||
retraction_prime_speed = =15
|
||||
speed_print = 40
|
||||
speed_topbottom = =math.ceil(speed_print * 30 / 35)
|
||||
speed_wall = =math.ceil(speed_print * 35 / 40)
|
||||
speed_wall_0 = =math.ceil(speed_wall * 30 / 35)
|
||||
support_z_distance = =layer_height
|
||||
switch_extruder_prime_speed = =15
|
||||
switch_extruder_retraction_amount = =8
|
||||
switch_extruder_retraction_speeds = 20
|
||||
wall_thickness = 1.3
|
||||
|
|
@ -17,7 +17,7 @@ material_standby_temperature = 100
|
|||
prime_tower_size = 17
|
||||
skin_overlap = 20
|
||||
speed_print = 60
|
||||
speed_layer_0 = =round(speed_print * 30 / 60)
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =math.ceil(speed_print * 35 / 60)
|
||||
speed_wall = =math.ceil(speed_print * 45 / 60)
|
||||
speed_wall_0 = =math.ceil(speed_wall * 35 / 45)
|
||||
|
|
|
@ -17,7 +17,7 @@ material_final_print_temperature = =material_print_temperature - 10
|
|||
material_standby_temperature = 100
|
||||
prime_tower_size = 17
|
||||
speed_print = 60
|
||||
speed_layer_0 = =round(speed_print * 30 / 60)
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =math.ceil(speed_print * 30 / 60)
|
||||
speed_wall = =math.ceil(speed_print * 40 / 60)
|
||||
speed_wall_0 = =math.ceil(speed_wall * 30 / 40)
|
||||
|
|
|
@ -19,7 +19,7 @@ material_final_print_temperature = =material_print_temperature - 10
|
|||
material_standby_temperature = 100
|
||||
prime_tower_size = 17
|
||||
speed_print = 50
|
||||
speed_layer_0 = =round(speed_print * 30 / 50)
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =math.ceil(speed_print * 30 / 50)
|
||||
speed_wall = =math.ceil(speed_print * 30 / 50)
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ material_final_print_temperature = =material_print_temperature - 10
|
|||
material_standby_temperature = 100
|
||||
prime_tower_size = 17
|
||||
speed_print = 55
|
||||
speed_layer_0 = =round(speed_print * 30 / 55)
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =math.ceil(speed_print * 30 / 55)
|
||||
speed_wall = =math.ceil(speed_print * 30 / 55)
|
||||
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
[general]
|
||||
version = 2
|
||||
name = Draft Print
|
||||
definition = ultimaker3
|
||||
|
||||
[metadata]
|
||||
type = quality
|
||||
quality_type = draft
|
||||
material = generic_pc_ultimaker3_AA_0.4
|
||||
weight = -2
|
||||
|
||||
[values]
|
||||
adhesion_type = raft
|
||||
cool_fan_full_at_height = =layer_height_0 + layer_height
|
||||
cool_fan_speed_max = 90
|
||||
cool_min_layer_time_fan_speed_max = 5
|
||||
cool_min_speed = 6
|
||||
infill_line_width = =round(line_width * 0.4 / 0.35, 2)
|
||||
infill_overlap_mm = 0.05
|
||||
layer_height = 0.2
|
||||
material_final_print_temperature = =material_print_temperature - 10
|
||||
material_initial_print_temperature = =material_print_temperature - 5
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
material_print_temperature_layer_0 = =material_print_temperature + 5
|
||||
ooze_shield_angle = 40
|
||||
raft_airgap = 0.25
|
||||
raft_margin = 15
|
||||
retraction_count_max = 80
|
||||
skin_overlap = 30
|
||||
speed_layer_0 = 25
|
||||
support_interface_line_distance = 0.4
|
||||
support_interface_pattern = lines
|
||||
support_pattern = zigzag
|
||||
wall_line_width_x = =round(line_width * 0.4 / 0.35, 2)
|
||||
xy_offset = -0.15
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
[general]
|
||||
version = 2
|
||||
name = Fast Print
|
||||
definition = ultimaker3
|
||||
|
||||
[metadata]
|
||||
type = quality
|
||||
quality_type = fast
|
||||
material = generic_pc_ultimaker3_AA_0.4
|
||||
weight = -1
|
||||
|
||||
[values]
|
||||
adhesion_type = raft
|
||||
cool_fan_full_at_height = =layer_height_0 + layer_height
|
||||
cool_fan_speed_max = 85
|
||||
cool_min_layer_time_fan_speed_max = 5
|
||||
cool_min_speed = 7
|
||||
infill_line_width = =round(line_width * 0.4 / 0.35, 2)
|
||||
infill_overlap = =0
|
||||
infill_overlap_mm = 0.05
|
||||
layer_height = 0.15
|
||||
material_initial_print_temperature = =material_print_temperature - 5
|
||||
material_final_print_temperature = =material_print_temperature - 10
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
material_print_temperature_layer_0 = =material_print_temperature + 5
|
||||
ooze_shield_angle = 40
|
||||
raft_airgap = 0.25
|
||||
raft_margin = 15
|
||||
retraction_count_max = 80
|
||||
skin_overlap = 30
|
||||
speed_layer_0 = 25
|
||||
support_interface_line_distance = 0.4
|
||||
support_interface_pattern = lines
|
||||
support_pattern = zigzag
|
||||
wall_line_width_x = =round(line_width * 0.4 / 0.35, 2)
|
||||
xy_offset = -0.15
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
[general]
|
||||
version = 2
|
||||
name = High Quality
|
||||
definition = ultimaker3
|
||||
|
||||
[metadata]
|
||||
type = quality
|
||||
quality_type = high
|
||||
material = generic_pc_ultimaker3_AA_0.4
|
||||
weight = 1
|
||||
|
||||
[values]
|
||||
adhesion_type = raft
|
||||
cool_fan_full_at_height = =layer_height_0 + layer_height
|
||||
cool_min_layer_time_fan_speed_max = 5
|
||||
cool_min_speed = 8
|
||||
infill_line_width = =round(line_width * 0.4 / 0.35, 2)
|
||||
infill_overlap_mm = 0.05
|
||||
layer_height = 0.06
|
||||
material_initial_print_temperature = =material_print_temperature - 5
|
||||
material_final_print_temperature = =material_print_temperature - 10
|
||||
material_print_temperature = =default_material_print_temperature - 10
|
||||
material_print_temperature_layer_0 = =material_print_temperature + 5
|
||||
ooze_shield_angle = 40
|
||||
raft_airgap = 0.25
|
||||
raft_margin = 15
|
||||
retraction_count_max = 80
|
||||
skin_overlap = 30
|
||||
speed_layer_0 = 25
|
||||
support_interface_line_distance = 0.4
|
||||
support_interface_pattern = lines
|
||||
support_pattern = zigzag
|
||||
wall_line_width_x = =round(line_width * 0.4 / 0.35, 2)
|
||||
xy_offset = -0.15
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
[general]
|
||||
version = 2
|
||||
name = Normal Quality
|
||||
definition = ultimaker3
|
||||
|
||||
[metadata]
|
||||
type = quality
|
||||
quality_type = normal
|
||||
material = generic_pc_ultimaker3_AA_0.4
|
||||
weight = 0
|
||||
|
||||
[values]
|
||||
adhesion_type = raft
|
||||
cool_fan_full_at_height = =layer_height_0 + layer_height
|
||||
cool_min_layer_time_fan_speed_max = 5
|
||||
cool_min_speed = 5
|
||||
infill_line_width = =round(line_width * 0.4 / 0.35, 2)
|
||||
infill_overlap_mm = 0.05
|
||||
material_initial_print_temperature = =material_print_temperature - 5
|
||||
material_final_print_temperature = =material_print_temperature - 10
|
||||
material_print_temperature = =default_material_print_temperature
|
||||
material_print_temperature_layer_0 = =material_print_temperature + 5
|
||||
ooze_shield_angle = 40
|
||||
raft_airgap = 0.25
|
||||
raft_margin = 15
|
||||
retraction_count_max = 80
|
||||
skin_overlap = 30
|
||||
speed_layer_0 = 25
|
||||
support_interface_line_distance = 0.4
|
||||
support_interface_pattern = lines
|
||||
support_pattern = zigzag
|
||||
wall_line_width_x = =round(line_width * 0.4 / 0.35, 2)
|
||||
xy_offset = -0.15
|
||||
|
|
@ -18,6 +18,7 @@ material_print_temperature = =default_material_print_temperature + 5
|
|||
material_standby_temperature = 100
|
||||
prime_tower_enable = False
|
||||
skin_overlap = 20
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =math.ceil(speed_print * 35 / 70)
|
||||
speed_wall = =math.ceil(speed_print * 50 / 70)
|
||||
speed_wall_0 = =math.ceil(speed_wall * 35 / 50)
|
||||
|
|
|
@ -17,7 +17,7 @@ machine_nozzle_heat_up_speed = 1.6
|
|||
material_standby_temperature = 100
|
||||
prime_tower_enable = False
|
||||
speed_print = 80
|
||||
speed_layer_0 = =round(speed_print * 30 / 80)
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =math.ceil(speed_print * 30 / 80)
|
||||
speed_wall = =math.ceil(speed_print * 40 / 80)
|
||||
speed_wall_0 = =math.ceil(speed_wall * 30 / 40)
|
||||
|
|
|
@ -20,7 +20,7 @@ material_standby_temperature = 100
|
|||
prime_tower_enable = False
|
||||
skin_overlap = 10
|
||||
speed_print = 60
|
||||
speed_layer_0 = =round(speed_print * 30 / 60)
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =math.ceil(speed_print * 30 / 60)
|
||||
speed_wall = =math.ceil(speed_print * 30 / 60)
|
||||
top_bottom_thickness = 1
|
||||
|
|
|
@ -18,6 +18,7 @@ machine_nozzle_heat_up_speed = 1.6
|
|||
material_standby_temperature = 100
|
||||
prime_tower_enable = False
|
||||
skin_overlap = 10
|
||||
speed_layer_0 = 20
|
||||
top_bottom_thickness = 1
|
||||
wall_thickness = 1
|
||||
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
[general]
|
||||
version = 2
|
||||
name = Draft Print
|
||||
definition = ultimaker3
|
||||
|
||||
[metadata]
|
||||
type = quality
|
||||
quality_type = draft
|
||||
material = generic_tpu_ultimaker3_AA_0.4
|
||||
weight = -2
|
||||
|
||||
[values]
|
||||
brim_width = 8.75
|
||||
cool_fan_speed_max = 100
|
||||
cool_min_layer_time_fan_speed_max = 6
|
||||
gradual_infill_step_height = =5 * layer_height
|
||||
gradual_infill_steps = 4
|
||||
infill_line_width = =round(line_width * 0.38 / 0.38, 2)
|
||||
infill_pattern = tetrahedral
|
||||
infill_sparse_density = 96
|
||||
layer_height = 0.2
|
||||
line_width = =machine_nozzle_size * 0.95
|
||||
material_final_print_temperature = =material_print_temperature - 10
|
||||
material_flow = 106
|
||||
material_initial_print_temperature = =material_print_temperature - 5
|
||||
material_print_temperature = =default_material_print_temperature + 2
|
||||
material_print_temperature_layer_0 = =material_print_temperature
|
||||
retraction_count_max = 12
|
||||
retraction_extra_prime_amount = 0.8
|
||||
skin_overlap = 15
|
||||
speed_equalize_flow_enabled = True
|
||||
speed_layer_0 = 18
|
||||
speed_print = 25
|
||||
speed_topbottom = =math.ceil(speed_print * 25 / 25)
|
||||
speed_travel = 300
|
||||
speed_wall = =math.ceil(speed_print * 25 / 25)
|
||||
speed_wall_0 = =math.ceil(speed_wall * 25 / 25)
|
||||
support_angle = 50
|
||||
support_bottom_distance = =support_z_distance / 2
|
||||
top_bottom_thickness = 0.7
|
||||
wall_line_width_x = =line_width
|
||||
wall_thickness = 0.76
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
[general]
|
||||
version = 2
|
||||
name = Fast Print
|
||||
definition = ultimaker3
|
||||
|
||||
[metadata]
|
||||
type = quality
|
||||
quality_type = fast
|
||||
material = generic_tpu_ultimaker3_AA_0.4
|
||||
weight = -1
|
||||
|
||||
[values]
|
||||
brim_width = 8.75
|
||||
cool_fan_speed_max = 100
|
||||
cool_min_layer_time_fan_speed_max = 6
|
||||
gradual_infill_step_height = =5 * layer_height
|
||||
gradual_infill_steps = 4
|
||||
infill_line_width = =round(line_width * 0.38 / 0.38, 2)
|
||||
infill_pattern = tetrahedral
|
||||
infill_sparse_density = 96
|
||||
layer_height = 0.15
|
||||
line_width = =machine_nozzle_size * 0.95
|
||||
material_final_print_temperature = =material_print_temperature - 10
|
||||
material_flow = 106
|
||||
material_initial_print_temperature = =material_print_temperature - 5
|
||||
material_print_temperature = =default_material_print_temperature + 2
|
||||
material_print_temperature_layer_0 = =material_print_temperature
|
||||
retraction_amount = 7
|
||||
retraction_count_max = 12
|
||||
retraction_extra_prime_amount = 0.8
|
||||
skin_overlap = 15
|
||||
speed_equalize_flow_enabled = True
|
||||
speed_layer_0 = 18
|
||||
speed_print = 25
|
||||
speed_topbottom = =math.ceil(speed_print * 25 / 25)
|
||||
speed_travel = 300
|
||||
speed_wall = =math.ceil(speed_print * 25 / 25)
|
||||
speed_wall_0 = =math.ceil(speed_wall * 25 / 25)
|
||||
support_angle = 50
|
||||
support_bottom_distance = =support_z_distance / 2
|
||||
top_bottom_thickness = 0.7
|
||||
wall_line_width_x = =line_width
|
||||
wall_thickness = 0.76
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
[general]
|
||||
version = 2
|
||||
name = Normal Quality
|
||||
definition = ultimaker3
|
||||
|
||||
[metadata]
|
||||
type = quality
|
||||
quality_type = normal
|
||||
material = generic_tpu_ultimaker3_AA_0.4
|
||||
weight = 0
|
||||
|
||||
[values]
|
||||
brim_width = 8.75
|
||||
cool_fan_speed_max = 100
|
||||
cool_min_layer_time_fan_speed_max = 6
|
||||
gradual_infill_step_height = =5 * layer_height
|
||||
gradual_infill_steps = 4
|
||||
infill_line_width = =round(line_width * 0.38 / 0.38, 2)
|
||||
infill_pattern = tetrahedral
|
||||
infill_sparse_density = 96
|
||||
line_width = =machine_nozzle_size * 0.95
|
||||
material_final_print_temperature = =material_print_temperature - 10
|
||||
material_flow = 106
|
||||
material_initial_print_temperature = =material_print_temperature - 10
|
||||
material_print_temperature = =default_material_print_temperature
|
||||
material_print_temperature_layer_0 = =material_print_temperature
|
||||
retraction_count_max = 12
|
||||
retraction_extra_prime_amount = 0.8
|
||||
skin_overlap = 15
|
||||
speed_equalize_flow_enabled = True
|
||||
speed_layer_0 = 18
|
||||
speed_print = 25
|
||||
speed_topbottom = =math.ceil(speed_print * 25 / 25)
|
||||
speed_travel = 300
|
||||
speed_wall = =math.ceil(speed_print * 25 / 25)
|
||||
speed_wall_0 = =math.ceil(speed_wall * 25 / 25)
|
||||
support_angle = 50
|
||||
support_bottom_distance = =support_z_distance / 2
|
||||
top_bottom_thickness = 0.7
|
||||
wall_line_width_x = =line_width
|
||||
wall_thickness = 0.76
|
||||
|
|
@ -12,13 +12,15 @@ material = generic_pva_ultimaker3_BB_0.4
|
|||
[values]
|
||||
acceleration_support = =math.ceil(acceleration_print * 500 / 4000)
|
||||
acceleration_support_infill = =acceleration_support
|
||||
acceleration_support_interface = =acceleration_support
|
||||
jerk_support = =math.ceil(jerk_print * 5 / 25)
|
||||
jerk_support_infill = =jerk_support
|
||||
jerk_support_interface = =jerk_support
|
||||
material_print_temperature = =default_material_print_temperature + 10
|
||||
material_standby_temperature = 100
|
||||
skin_overlap = 20
|
||||
support_interface_height = 0.8
|
||||
prime_tower_enable = False
|
||||
speed_support_interface = =math.ceil(speed_support * 20 / 25)
|
||||
jerk_support_interface = =math.ceil(jerk_support * 1 / 5)
|
||||
acceleration_support_interface = =math.ceil(acceleration_support * 100 / 500 )
|
||||
support_xy_distance = =round(line_width * 1.5, 2)
|
||||
|
||||
|
|
|
@ -12,13 +12,14 @@ material = generic_pva_ultimaker3_BB_0.4
|
|||
[values]
|
||||
acceleration_support = =math.ceil(acceleration_print * 500 / 4000)
|
||||
acceleration_support_infill = =acceleration_support
|
||||
acceleration_support_interface = =acceleration_support
|
||||
jerk_support = =math.ceil(jerk_print * 5 / 25)
|
||||
jerk_support_infill = =jerk_support
|
||||
jerk_support_interface = =jerk_support
|
||||
material_print_temperature = =default_material_print_temperature + 5
|
||||
material_standby_temperature = 100
|
||||
skin_overlap = 15
|
||||
support_interface_height = 0.8
|
||||
prime_tower_enable = False
|
||||
|
||||
speed_support_interface = =math.ceil(speed_support * 20 / 25)
|
||||
jerk_support_interface = =math.ceil(jerk_support * 1 / 5)
|
||||
acceleration_support_interface = =math.ceil(acceleration_support * 100 / 500 )
|
||||
support_xy_distance = =round(line_width * 1.5, 2)
|
||||
|
|
|
@ -12,12 +12,14 @@ material = generic_pva_ultimaker3_BB_0.4
|
|||
[values]
|
||||
acceleration_support = =math.ceil(acceleration_print * 500 / 4000)
|
||||
acceleration_support_infill = =acceleration_support
|
||||
acceleration_support_interface = =acceleration_support
|
||||
jerk_support = =math.ceil(jerk_print * 5 / 25)
|
||||
jerk_support_infill = =jerk_support
|
||||
jerk_support_interface = =jerk_support
|
||||
support_infill_rate = 25
|
||||
support_interface_height = 0.8
|
||||
material_standby_temperature = 100
|
||||
prime_tower_enable = False
|
||||
speed_support_interface = =math.ceil(speed_support * 20 / 25)
|
||||
jerk_support_interface = =math.ceil(jerk_support * 1 / 5)
|
||||
acceleration_support_interface = =math.ceil(acceleration_support * 100 / 500 )
|
||||
support_xy_distance = =round(line_width * 1.5, 2)
|
||||
|
||||
|
|
|
@ -12,12 +12,13 @@ material = generic_pva_ultimaker3_BB_0.4
|
|||
[values]
|
||||
acceleration_support = =math.ceil(acceleration_print * 500 / 4000)
|
||||
acceleration_support_infill = =acceleration_support
|
||||
acceleration_support_interface = =acceleration_support
|
||||
jerk_support = =math.ceil(jerk_print * 5 / 25)
|
||||
jerk_support_infill = =jerk_support
|
||||
jerk_support_interface = =jerk_support
|
||||
support_infill_rate = 25
|
||||
support_interface_height = 0.8
|
||||
material_standby_temperature = 100
|
||||
prime_tower_enable = False
|
||||
|
||||
speed_support_interface = =math.ceil(speed_support * 20 / 25)
|
||||
jerk_support_interface = =math.ceil(jerk_support * 1 / 5)
|
||||
acceleration_support_interface = =math.ceil(acceleration_support * 100 / 500 )
|
||||
support_xy_distance = =round(line_width * 1.5, 2)
|
||||
|
|
|
@ -27,6 +27,37 @@ fragment =
|
|||
gl_FragColor = u_gridColor1;
|
||||
}
|
||||
|
||||
vertex41core =
|
||||
#version 410
|
||||
uniform highp mat4 u_modelViewProjectionMatrix;
|
||||
|
||||
in highp vec4 a_vertex;
|
||||
in lowp vec2 a_uvs;
|
||||
|
||||
out lowp vec2 v_uvs;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_Position = u_modelViewProjectionMatrix * a_vertex;
|
||||
v_uvs = a_uvs;
|
||||
}
|
||||
|
||||
fragment41core =
|
||||
#version 410
|
||||
uniform lowp vec4 u_gridColor0;
|
||||
uniform lowp vec4 u_gridColor1;
|
||||
|
||||
in lowp vec2 v_uvs;
|
||||
out vec4 frag_color;
|
||||
|
||||
void main()
|
||||
{
|
||||
if (mod(floor(v_uvs.x / 10.0) - floor(v_uvs.y / 10.0), 2.0) < 1.0)
|
||||
frag_color = u_gridColor0;
|
||||
else
|
||||
frag_color = u_gridColor1;
|
||||
}
|
||||
|
||||
[defaults]
|
||||
u_gridColor0 = [0.96, 0.96, 0.96, 1.0]
|
||||
u_gridColor1 = [0.8, 0.8, 0.8, 1.0]
|
||||
|
|
|
@ -8,16 +8,16 @@ vertex =
|
|||
attribute highp vec4 a_normal;
|
||||
attribute highp vec2 a_uvs;
|
||||
|
||||
varying highp vec3 v_vertex;
|
||||
varying highp vec3 v_normal;
|
||||
varying highp vec3 f_vertex;
|
||||
varying highp vec3 f_normal;
|
||||
|
||||
void main()
|
||||
{
|
||||
vec4 world_space_vert = u_modelMatrix * a_vertex;
|
||||
gl_Position = u_viewProjectionMatrix * world_space_vert;
|
||||
|
||||
v_vertex = world_space_vert.xyz;
|
||||
v_normal = (u_normalMatrix * normalize(a_normal)).xyz;
|
||||
f_vertex = world_space_vert.xyz;
|
||||
f_normal = (u_normalMatrix * normalize(a_normal)).xyz;
|
||||
}
|
||||
|
||||
fragment =
|
||||
|
@ -31,27 +31,28 @@ fragment =
|
|||
uniform lowp float u_overhangAngle;
|
||||
uniform lowp vec4 u_overhangColor;
|
||||
|
||||
varying highp vec3 v_vertex;
|
||||
varying highp vec3 v_normal;
|
||||
varying highp vec3 f_vertex;
|
||||
varying highp vec3 f_normal;
|
||||
|
||||
void main()
|
||||
{
|
||||
|
||||
mediump vec4 finalColor = vec4(0.0);
|
||||
|
||||
/* Ambient Component */
|
||||
// Ambient Component
|
||||
finalColor += u_ambientColor;
|
||||
|
||||
highp vec3 normal = normalize(v_normal);
|
||||
highp vec3 lightDir = normalize(u_lightPosition - v_vertex);
|
||||
highp vec3 normal = normalize(f_normal);
|
||||
highp vec3 lightDir = normalize(u_lightPosition - f_vertex);
|
||||
|
||||
/* Diffuse Component */
|
||||
// Diffuse Component
|
||||
highp float NdotL = clamp(abs(dot(normal, lightDir)), 0.0, 1.0);
|
||||
finalColor += (NdotL * u_diffuseColor);
|
||||
|
||||
/* Specular Component */
|
||||
/* TODO: We should not do specularity for fragments facing away from the light.*/
|
||||
// Specular Component
|
||||
// TODO: We should not do specularity for fragments facing away from the light.
|
||||
highp vec3 reflectedLight = reflect(-lightDir, normal);
|
||||
highp vec3 viewVector = normalize(u_viewPosition - v_vertex);
|
||||
highp vec3 viewVector = normalize(u_viewPosition - f_vertex);
|
||||
highp float NdotR = clamp(dot(viewVector, reflectedLight), 0.0, 1.0);
|
||||
finalColor += pow(NdotR, u_shininess) * u_specularColor;
|
||||
|
||||
|
@ -61,6 +62,73 @@ fragment =
|
|||
gl_FragColor.a = 1.0;
|
||||
}
|
||||
|
||||
vertex41core =
|
||||
#version 410
|
||||
uniform highp mat4 u_modelMatrix;
|
||||
uniform highp mat4 u_viewProjectionMatrix;
|
||||
uniform highp mat4 u_normalMatrix;
|
||||
|
||||
in highp vec4 a_vertex;
|
||||
in highp vec4 a_normal;
|
||||
in highp vec2 a_uvs;
|
||||
|
||||
out highp vec3 f_vertex;
|
||||
out highp vec3 f_normal;
|
||||
|
||||
void main()
|
||||
{
|
||||
vec4 world_space_vert = u_modelMatrix * a_vertex;
|
||||
gl_Position = u_viewProjectionMatrix * world_space_vert;
|
||||
|
||||
f_vertex = world_space_vert.xyz;
|
||||
f_normal = (u_normalMatrix * normalize(a_normal)).xyz;
|
||||
}
|
||||
|
||||
fragment41core =
|
||||
#version 410
|
||||
uniform mediump vec4 u_ambientColor;
|
||||
uniform mediump vec4 u_diffuseColor;
|
||||
uniform mediump vec4 u_specularColor;
|
||||
uniform highp vec3 u_lightPosition;
|
||||
uniform mediump float u_shininess;
|
||||
uniform highp vec3 u_viewPosition;
|
||||
|
||||
uniform lowp float u_overhangAngle;
|
||||
uniform lowp vec4 u_overhangColor;
|
||||
|
||||
in highp vec3 f_vertex;
|
||||
in highp vec3 f_normal;
|
||||
|
||||
out vec4 frag_color;
|
||||
|
||||
void main()
|
||||
{
|
||||
|
||||
mediump vec4 finalColor = vec4(0.0);
|
||||
|
||||
// Ambient Component
|
||||
finalColor += u_ambientColor;
|
||||
|
||||
highp vec3 normal = normalize(f_normal);
|
||||
highp vec3 lightDir = normalize(u_lightPosition - f_vertex);
|
||||
|
||||
// Diffuse Component
|
||||
highp float NdotL = clamp(abs(dot(normal, lightDir)), 0.0, 1.0);
|
||||
finalColor += (NdotL * u_diffuseColor);
|
||||
|
||||
// Specular Component
|
||||
// TODO: We should not do specularity for fragments facing away from the light.
|
||||
highp vec3 reflectedLight = reflect(-lightDir, normal);
|
||||
highp vec3 viewVector = normalize(u_viewPosition - f_vertex);
|
||||
highp float NdotR = clamp(dot(viewVector, reflectedLight), 0.0, 1.0);
|
||||
finalColor += pow(NdotR, u_shininess) * u_specularColor;
|
||||
|
||||
finalColor = (-normal.y > u_overhangAngle) ? u_overhangColor : finalColor;
|
||||
|
||||
frag_color = finalColor;
|
||||
frag_color.a = 1.0;
|
||||
}
|
||||
|
||||
[defaults]
|
||||
u_ambientColor = [0.3, 0.3, 0.3, 1.0]
|
||||
u_diffuseColor = [1.0, 0.79, 0.14, 1.0]
|
||||
|
|
|
@ -63,6 +63,74 @@ fragment =
|
|||
gl_FragColor.a = 1.0;
|
||||
}
|
||||
|
||||
vertex41core =
|
||||
#version 410
|
||||
uniform highp mat4 u_modelMatrix;
|
||||
uniform highp mat4 u_viewProjectionMatrix;
|
||||
uniform highp mat4 u_normalMatrix;
|
||||
|
||||
in highp vec4 a_vertex;
|
||||
in highp vec4 a_normal;
|
||||
in highp vec2 a_uvs;
|
||||
|
||||
out highp vec3 v_position;
|
||||
out highp vec3 v_vertex;
|
||||
out highp vec3 v_normal;
|
||||
|
||||
void main()
|
||||
{
|
||||
vec4 world_space_vert = u_modelMatrix * a_vertex;
|
||||
gl_Position = u_viewProjectionMatrix * world_space_vert;
|
||||
|
||||
v_position = gl_Position.xyz;
|
||||
v_vertex = world_space_vert.xyz;
|
||||
v_normal = (u_normalMatrix * normalize(a_normal)).xyz;
|
||||
}
|
||||
|
||||
fragment41core =
|
||||
#version 410
|
||||
uniform mediump vec4 u_ambientColor;
|
||||
uniform mediump vec4 u_diffuseColor1;
|
||||
uniform mediump vec4 u_diffuseColor2;
|
||||
uniform mediump vec4 u_specularColor;
|
||||
uniform highp vec3 u_lightPosition;
|
||||
uniform mediump float u_shininess;
|
||||
uniform highp vec3 u_viewPosition;
|
||||
|
||||
uniform mediump float u_width;
|
||||
|
||||
in highp vec3 v_position;
|
||||
in highp vec3 v_vertex;
|
||||
in highp vec3 v_normal;
|
||||
|
||||
out vec4 frag_color;
|
||||
|
||||
void main()
|
||||
{
|
||||
mediump vec4 finalColor = vec4(0.0);
|
||||
mediump vec4 diffuseColor = (mod((-v_position.x + v_position.y), u_width) < (u_width / 2.)) ? u_diffuseColor1 : u_diffuseColor2;
|
||||
|
||||
/* Ambient Component */
|
||||
finalColor += u_ambientColor;
|
||||
|
||||
highp vec3 normal = normalize(v_normal);
|
||||
highp vec3 lightDir = normalize(u_lightPosition - v_vertex);
|
||||
|
||||
/* Diffuse Component */
|
||||
highp float NdotL = clamp(abs(dot(normal, lightDir)), 0.0, 1.0);
|
||||
finalColor += (NdotL * diffuseColor);
|
||||
|
||||
/* Specular Component */
|
||||
/* TODO: We should not do specularity for fragments facing away from the light.*/
|
||||
highp vec3 reflectedLight = reflect(-lightDir, normal);
|
||||
highp vec3 viewVector = normalize(u_viewPosition - v_vertex);
|
||||
highp float NdotR = clamp(dot(viewVector, reflectedLight), 0.0, 1.0);
|
||||
finalColor += pow(NdotR, u_shininess) * u_specularColor;
|
||||
|
||||
frag_color = finalColor;
|
||||
frag_color.a = 1.0;
|
||||
}
|
||||
|
||||
[defaults]
|
||||
u_ambientColor = [0.3, 0.3, 0.3, 1.0]
|
||||
u_diffuseColor1 = [1.0, 0.5, 0.5, 1.0]
|
||||
|
|
|
@ -48,6 +48,59 @@ fragment =
|
|||
gl_FragColor.a = u_opacity;
|
||||
}
|
||||
|
||||
vertex41core =
|
||||
#version 410
|
||||
uniform highp mat4 u_modelMatrix;
|
||||
uniform highp mat4 u_viewProjectionMatrix;
|
||||
uniform highp mat4 u_normalMatrix;
|
||||
|
||||
in highp vec4 a_vertex;
|
||||
in highp vec4 a_normal;
|
||||
in highp vec2 a_uvs;
|
||||
|
||||
out highp vec3 v_vertex;
|
||||
out highp vec3 v_normal;
|
||||
|
||||
void main()
|
||||
{
|
||||
vec4 world_space_vert = u_modelMatrix * a_vertex;
|
||||
gl_Position = u_viewProjectionMatrix * world_space_vert;
|
||||
|
||||
v_vertex = world_space_vert.xyz;
|
||||
v_normal = (u_normalMatrix * normalize(a_normal)).xyz;
|
||||
}
|
||||
|
||||
fragment41core =
|
||||
#version 410
|
||||
uniform mediump vec4 u_ambientColor;
|
||||
uniform mediump vec4 u_diffuseColor;
|
||||
uniform highp vec3 u_lightPosition;
|
||||
|
||||
uniform mediump float u_opacity;
|
||||
|
||||
in highp vec3 v_vertex;
|
||||
in highp vec3 v_normal;
|
||||
|
||||
out vec4 frag_color;
|
||||
|
||||
void main()
|
||||
{
|
||||
mediump vec4 finalColor = vec4(0.0);
|
||||
|
||||
/* Ambient Component */
|
||||
finalColor += u_ambientColor;
|
||||
|
||||
highp vec3 normal = normalize(v_normal);
|
||||
highp vec3 lightDir = normalize(u_lightPosition - v_vertex);
|
||||
|
||||
/* Diffuse Component */
|
||||
highp float NdotL = clamp(abs(dot(normal, lightDir)), 0.0, 1.0);
|
||||
finalColor += (NdotL * u_diffuseColor);
|
||||
|
||||
frag_color = finalColor;
|
||||
frag_color.a = u_opacity;
|
||||
}
|
||||
|
||||
[defaults]
|
||||
u_ambientColor = [0.1, 0.1, 0.1, 1.0]
|
||||
u_diffuseColor = [0.4, 0.4, 0.4, 1.0]
|
||||
|
|
|
@ -24,6 +24,10 @@
|
|||
"bold": true,
|
||||
"family": "Open Sans"
|
||||
},
|
||||
"very_small": {
|
||||
"size": 1.0,
|
||||
"family": "Open Sans"
|
||||
},
|
||||
"button_tooltip": {
|
||||
"size": 1.0,
|
||||
"family": "Open Sans"
|
||||
|
@ -247,9 +251,11 @@
|
|||
"sidebar_header_mode_toggle": [0.0, 2.0],
|
||||
"sidebar_header_mode_tabs": [0.0, 3.0],
|
||||
"sidebar_lining": [0.5, 0.5],
|
||||
"sidebar_lining_thin": [0.2, 0.2],
|
||||
"sidebar_setup": [0.0, 2.0],
|
||||
"sidebar_tabs": [0.0, 3.5],
|
||||
"sidebar_inputfields": [0.0, 2.0],
|
||||
"sidebar_extruder_box": [0.0, 6.0],
|
||||
"simple_mode_infill_caption": [0.0, 5.0],
|
||||
"simple_mode_infill_height": [0.0, 8.0],
|
||||
|
||||
|
|
|
@ -11,6 +11,9 @@ type = variant
|
|||
machine_nozzle_size = 0.25
|
||||
machine_nozzle_tip_outer_diameter = 1.05
|
||||
|
||||
infill_line_width = 0.3
|
||||
|
||||
wall_thickness = 1
|
||||
wall_0_inset = -0.05
|
||||
fill_perimeter_gaps = nowhere
|
||||
travel_compensate_overlapping_walls_enabled =
|
||||
|
@ -43,6 +46,7 @@ speed_support_interface = =round(speed_topbottom)
|
|||
|
||||
retraction_combing = off
|
||||
retraction_hop_enabled = true
|
||||
retraction_hop = 1
|
||||
|
||||
support_z_distance = 0
|
||||
support_xy_distance = 0.5
|
||||
|
|
|
@ -12,6 +12,9 @@ type = variant
|
|||
machine_nozzle_size = 0.4
|
||||
machine_nozzle_tip_outer_diameter = 0.8
|
||||
|
||||
infill_line_width = 0.5
|
||||
|
||||
wall_thickness = 1.2
|
||||
wall_0_inset = -0.05
|
||||
fill_perimeter_gaps = nowhere
|
||||
travel_compensate_overlapping_walls_enabled =
|
||||
|
@ -20,7 +23,6 @@ infill_sparse_density = 25
|
|||
infill_overlap = -50
|
||||
skin_overlap = -40
|
||||
|
||||
|
||||
material_print_temperature_layer_0 = =round(material_print_temperature)
|
||||
material_initial_print_temperature = =round(material_print_temperature)
|
||||
material_diameter = 1.75
|
||||
|
@ -44,6 +46,7 @@ speed_support_interface = =round(speed_topbottom)
|
|||
|
||||
retraction_combing = off
|
||||
retraction_hop_enabled = true
|
||||
retraction_hop = 1
|
||||
|
||||
support_z_distance = 0
|
||||
support_xy_distance = 0.5
|
||||
|
|
|
@ -11,18 +11,22 @@ type = variant
|
|||
machine_nozzle_size = 0.8
|
||||
machine_nozzle_tip_outer_diameter = 1.05
|
||||
|
||||
infill_line_width = 0.9
|
||||
|
||||
wall_thickness = 2.4
|
||||
top_bottom_thickness = =0.8 if layer_height < 0.3 else (layer_height * 3)
|
||||
wall_0_inset = -0.05
|
||||
fill_perimeter_gaps = nowhere
|
||||
travel_compensate_overlapping_walls_enabled =
|
||||
|
||||
infill_sparse_density = 25
|
||||
infill_sparse_density = 15
|
||||
infill_overlap = -50
|
||||
skin_overlap = -40
|
||||
|
||||
material_print_temperature_layer_0 = =round(material_print_temperature)
|
||||
material_initial_print_temperature = =round(material_print_temperature)
|
||||
material_diameter = 1.75
|
||||
retraction_amount = 2
|
||||
retraction_amount = 1.5
|
||||
retraction_speed = 40
|
||||
retraction_prime_speed = =round(retraction_speed / 4)
|
||||
retraction_min_travel = =round(line_width * 10)
|
||||
|
@ -43,6 +47,7 @@ speed_support_interface = =round(speed_topbottom)
|
|||
|
||||
retraction_combing = off
|
||||
retraction_hop_enabled = true
|
||||
retraction_hop = 1
|
||||
|
||||
support_z_distance = 0
|
||||
support_xy_distance = 0.5
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue