Merge branch 'settings_rework'

Contributes to CURA-1278

* settings_rework: (224 commits)
  Improve slice trigger documentation
  Import Cura in materials preferences page so we can use the active definition id
  Add layer height to high quality profile so we have something that changes
  Update example XML material to use the right product names
  Filter available materials by the machine definition
  Show the add machine dialog when we do not have an active machine
  Create machine-specific material containers for machine specific overrides in XML material files
  When creating a new container stack, add empty containers for things where we cannot find containers
  Add preferred variant, material and quality to UM2+ definition
  Account for global container stack being None in the backend plugin
  Use the global stack instance variable and account for it potentially being None
  Store the global container stack as an instance property
  Added wildcard to filtering
  Per object settings filter now uses correct bool types (instead of strings)
  Removed stray = sign.
  Fix creating print job name
  Disable asynchronous loading of SettingItem when Qt Version < 5.5
  Document QTbug
  Properly serialise all settings to g-code file
  Document GCodeWriter class
  ...
This commit is contained in:
Arjen Hiemstra 2016-05-25 14:42:45 +02:00
commit 386aec32a8
125 changed files with 7651 additions and 2131 deletions

View file

@ -0,0 +1,93 @@
{
"id": "bq_hephestos",
"name": "BQ Prusa i3 Hephestos",
"version": 2,
"inherits": "fdmprinter",
"metadata": {
"visible": true,
"author": "BQ",
"manufacturer": "BQ",
"category": "Other",
"file_formats": "text/x-gcode",
"platform": "bq_hephestos_platform.stl",
"platform_offset": {
"value": [
0,
-82,
0
]
}
},
"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 Z15.0 F1200 ;move Z to position 15.0 mm\nG92 E0 ;zero the extruded length\nG1 E20 F200 ;extrude 20mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F7200 ;set feedrate to 120 mm/sec\n; -- end of START GCODE --"
},
"machine_end_gcode": {
"default_value": "; -- END GCODE --\nM104 S0 ;set extruder temperature to zero (turned off)\nG91 ;set to relative positioning\nG1 E-20 F300 ;retract the filament a bit to release some of the pressure\nG1 Z10 ;move extruder up 10 mm\nG90 ;set to absolute positioning\nG1 X0 Y180 F1200 ;expose the platform\nM84 ;turn off steppers\n; -- end of END GCODE --"
},
"machine_width": {
"default_value": 215
},
"machine_depth": {
"default_value": 210
},
"machine_height": {
"default_value": 180
},
"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": 220
},
"material_bed_temperature": {
"default_value": 0
},
"material_diameter": {
"default_value": 1.75
},
"speed_print": {
"default_value": 40
},
"speed_infill": {
"default_value": 40
},
"speed_wall": {
"default_value": 35
},
"speed_topbottom": {
"default_value": 35
},
"speed_travel": {
"default_value": 120
},
"speed_layer_0": {
"default_value": 20
},
"support_enable": {
"default_value": true
}
}
}

View file

@ -0,0 +1,47 @@
{
"id": "bq_hephestos_2",
"version": 2,
"name": "BQ Hephestos 2",
"inherits": "fdmprinter",
"metadata": {
"visible": true,
"author": "BQ",
"manufacturer": "BQ",
"category": "Other",
"platform": "bq_hephestos_2_platform.stl",
"platform_offset": { "value": [6, 1320, 0 ] },
"file_formats": "text/x-gcode"
},
"overrides": {
"machine_start_gcode": { "default_value": "; -- START GCODE --\nM800 ; Custom GCODE to fire start print procedure\n; -- end of START GCODE --" },
"machine_end_gcode": { "default_value": "; -- END GCODE --\nM801 ; Custom GCODE to fire end print procedure\n; -- end of END GCODE --" },
"machine_width": { "default_value": 210 },
"machine_depth": { "default_value": 297 },
"machine_height": { "default_value": 220 },
"machine_heated_bed": { "default_value": false },
"machine_center_is_zero": { "default_value": false },
"material_print_temperature": { "default_value": 210 },
"material_bed_temperature": { "default_value": 0 },
"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": 80 },
"speed_topbottom": { "default_value": 35 },
"skirt_speed": { "default_value": 35 },
"skirt_line_count": { "default_value": 4 },
"skirt_minimal_length": { "default_value": 30 },
"skirt_gap": { "default_value": 6 },
"cool_fan_full_at_height": { "default_value": 0.4 }
}
}

View file

@ -0,0 +1,93 @@
{
"id": "bq_hephestos_xl",
"version": 2,
"name": "BQ Prusa i3 Hephestos XL",
"inherits": "fdmprinter",
"metadata": {
"visible": true,
"manufacturer": "BQ",
"author": "BQ",
"category": "Other",
"file_formats": "text/x-code",
"platform": "bq_hephestos_platform.stl",
"platform_offset": {
"value": [
0,
-82,
0
]
}
},
"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 Z15.0 F1200 ;move Z to position 15.0 mm\nG92 E0 ;zero the extruded length\nG1 E20 F200 ;extrude 20mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F7200 ;set feedrate to 120 mm/sec\n; -- end of START GCODE --"
},
"machine_end_gcode": {
"default_value": "; -- END GCODE --\nM104 S0 ;set extruder temperature to zero (turned off)\nG91 ;set to relative positioning\nG1 E-20 F300 ;retract the filament a bit to release some of the pressure\nG1 Z10 ;move extruder up 10 mm\nG90 ;set to absolute positioning\nG1 X0 Y180 F1200 ;expose the platform\nM84 ;turn off steppers\n; -- end of END GCODE --"
},
"machine_width": {
"default_value": 200
},
"machine_depth": {
"default_value": 300
},
"machine_height": {
"default_value": 180
},
"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": 220
},
"material_bed_temperature": {
"default_value": 0
},
"material_diameter": {
"default_value": 1.75
},
"speed_print": {
"default_value": 40
},
"speed_infill": {
"default_value": 40
},
"speed_wall": {
"default_value": 35
},
"speed_topbottom": {
"default_value": 35
},
"speed_travel": {
"default_value": 120
},
"speed_layer_0": {
"default_value": 20
},
"support_enable": {
"default_value": true
}
}
}

View file

@ -0,0 +1,94 @@
{
"id": "bq_witbox",
"version": 2,
"name": "BQ Witbox",
"inherits": "fdmprinter",
"metadata": {
"visible": true,
"author": "BQ",
"manufacturer": "BQ",
"category": "Other",
"file_formats": "text/x-gcode",
"platform": "bq_witbox_platform.stl",
"platform_offset": {
"value": [
0,
-145,
-38
]
}
},
"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 Z15.0 F1200 ;move Z to position 15.0 mm\nG92 E0 ;zero the extruded length\nG1 E20 F200 ;extrude 20mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F7200 ;set feedrate to 120 mm/sec\n; -- end of START GCODE --"
},
"machine_end_gcode": {
"default_value": "; -- END GCODE --\nM104 S0 ;set extruder temperature to zero (turned off)\nG91 ;set to relative positioning\nG1 E-20 F300 ;retract the filament a bit to release some of the pressure\nG90 ;set to absolute positioning\nG1 Z200 ;move the platform to the bottom\nG28 X0 Y0 ;move to the X/Y origin (Home)\nM84 ;turn off steppers\n; -- end of END GCODE --"
},
"machine_width": {
"default_value": 297
},
"machine_depth": {
"default_value": 210
},
"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": 220
},
"material_bed_temperature": {
"default_value": 0
},
"material_diameter": {
"default_value": 1.75
},
"speed_print": {
"default_value": 40
},
"speed_infill": {
"default_value": 40
},
"speed_wall": {
"default_value": 35
},
"speed_topbottom": {
"default_value": 35
},
"speed_travel": {
"default_value": 120
},
"speed_layer_0": {
"default_value": 20
},
"support_enable": {
"default_value": true
}
}
}

View file

@ -0,0 +1,111 @@
{
"id": "bq_witbox_2",
"version": 2,
"name": "BQ Witbox 2",
"inherits": "fdmprinter",
"metadata": {
"visible": true,
"author": "BQ",
"manufacturer": "BQ",
"category": "Other",
"file_formats": "text/x-gcode",
"platform": "bq_witbox_platform.stl",
"platform_offset": [0, -145, -38]
},
"overrides": {
"machine_start_gcode": {
"default_value": "; -- START GCODE --\nM800 ; Custom GCODE to fire start print procedure\n; -- end of START GCODE --"
},
"machine_end_gcode": {
"default_value": "; -- END GCODE --\nM801 ; Custom GCODE to fire end print procedure\n; -- end of END GCODE --"
},
"machine_width": {
"default_value": 297
},
"machine_depth": {
"default_value": 210
},
"machine_height": {
"default_value": 200
},
"machine_heated_bed": {
"default_value": false
},
"machine_center_is_zero": {
"default_value": false
},
"machine_gcode_flavor": {
"default_value": "RepRap"
},
"material_print_temperature": {
"default_value": 210
},
"material_bed_temperature": {
"default_value": 0
},
"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": 80
},
"speed_topbottom": {
"default_value": 35
},
"skirt_speed": {
"default_value": 35
},
"skirt_line_count": {
"default_value": 4
},
"skirt_minimal_length": {
"default_value": 30
},
"skirt_gap": {
"default_value": 6
},
"cool_fan_full_at_height": {
"default_value": 0.4
},
"support_enable": {
"default_value": false
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,59 @@
{
"id": "grr_neo",
"version": 2,
"name": "German RepRap Neo",
"inherits": "fdmprinter",
"metadata": {
"visible": true,
"author": "Simon Cor",
"manufacturer": "German RepRap",
"category": "Other",
"file_formats": "text/x-gcode",
"icon": "icon_ultimaker.png",
"platform": "grr_neo_platform.stl"
},
"overrides": {
"machine_width": {
"default_value": 150
},
"machine_height": {
"default_value": 150
},
"machine_depth": {
"default_value": 150
},
"machine_center_is_zero": {
"default_value": false
},
"machine_nozzle_size": {
"default_value": 0.5
},
"machine_nozzle_heat_up_speed": {
"default_value": 2
},
"machine_nozzle_cool_down_speed": {
"default_value": 2
},
"machine_head_polygon": {
"default_value": [
[-75, -18],
[-75, 35],
[18, 35],
[18, -18]
]
},
"gantry_height": {
"default_value": 55
},
"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"
}
}
}

View file

@ -0,0 +1,99 @@
{
"id": "innovo-inventor",
"version": 2,
"name": "Innovo INVENTOR",
"inherits": "fdmprinter",
"metadata": {
"visible": true,
"author": "Adam Rumjahn",
"manufacturer": "Innovo",
"category": "Other",
"file_formats": "text/x-gcode",
"platform": "inventor_platform.stl",
"platform_offset": [-180, -0.25, 160]
},
"overrides": {
"machine_width": {
"default_value": 340
},
"machine_height": {
"default_value": 290
},
"machine_depth": {
"default_value": 300
},
"machine_heated_bed": {
"default_value": true
},
"machine_center_is_zero": {
"default_value": false
},
"machine_nozzle_size": {
"default_value": 0.4
},
"machine_head_polygon": {
"default_value": [
[-43.7, -19.2],
[-43.7, 55],
[43.7, 55],
[43.7, -19.2]
]
},
"gantry_height": {
"default_value": 82.3
},
"machine_nozzle_offset_x": {
"default_value": 0
},
"machine_nozzle_offset_y": {
"default_value": 15
},
"machine_gcode_flavor": {
"default_value": "RepRap (Marlin/Sprinter)"
},
"machine_start_gcode": {
"default_value": "G28 ; Home extruder\nM107 ; Turn off fan\nG90 ; Absolute positioning\nM82 ; Extruder in absolute mode\n{IF_BED}M190 S{BED}\n{IF_EXT0}M104 T0 S{TEMP0}\n{IF_EXT0}M109 T0 S{TEMP0}\n{IF_EXT1}M104 T1 S{TEMP1}\n{IF_EXT1}M109 T1 S{TEMP1}\nG32 S3 ; auto level\nG92 E0 ; Reset extruder position"
},
"machine_end_gcode": {
"default_value": "M104 S0\nG91 ; relative positioning\nG1 E-2 F5000; retract 2mm\nG28 Z; move bed down\nG90 ; absolute positioning\nM84 ; disable motors"
},
"layer_height": {
"default_value": 0.15
},
"wall_thickness": {
"default_value": 0.8
},
"top_bottom_thickness": {
"default_value": 0.3
},
"material_print_temperature": {
"default_value": 215
},
"material_bed_temperature": {
"default_value": 60
},
"material_diameter": {
"default_value": 1.75
},
"speed_print": {
"default_value": 60
},
"speed_infill": {
"default_value": 100
},
"speed_topbottom": {
"default_value": 30
},
"speed_travel": {
"default_value": 150
},
"speed_layer_0": {
"default_value": 30.0,
"minimum_value": 0.1
},
"infill_overlap": {
"default_value": 10.0
}
}
}

View file

@ -0,0 +1,57 @@
{
"id": "m180",
"version": 2,
"name": "Malyan M180",
"inherits": "fdmprinter",
"metadata": {
"visible": true,
"author": "Ruben Dulek",
"manufacturer": "Malyan",
"category": "Other",
"file_formats": "application/x3g"
},
"overrides": {
"machine_width": {
"default_value": 230
},
"machine_height": {
"default_value": 165
},
"machine_depth": {
"default_value": 145
},
"machine_center_is_zero": {
"default_value": true
},
"machine_nozzle_size": {
"default_value": 0.4,
"minimum_value": "0.001"
},
"machine_head_with_fans_polygon": {
"default_value": [
[ -75, 35 ],
[ -75, -18 ],
[ 18, -18 ],
[ 18, 35 ]
]
},
"gantry_height": {
"default_value": 55
},
"machine_gcode_flavor": {
"default_value": "RepRap (Marlin/Sprinter)"
},
"machine_start_gcode": {
"default_value": "M136\nM73 P0\nM103\nG21\nG90\nM320\n;(**** begin homing ****)\nG162 X Y F4000\nG161 Z F3500\nG92 Z-5\nG1 Z0.0\nG161 Z F100\nM132 X Y Z A B\n;(**** end homing ****)\nG92 X147 Y66 Z5\nG1 X105 Y-60 Z10 F4000.0\nG130 X127 Y127 A127 B127\nG0 X105 Y-60\nG1 Z0.3 F300\nG92 E0\nG1 X100 E10 F300\nG92 E0\nG1 Z0.0 F300\nM320"
},
"machine_end_gcode": {
"default_value": "G92 Z0\nG1 Z10 F400\nM18\nM109 S0 T0\nM104 S0 T0\nM73 P100 (end build progress)\nG162 X Y F3000\nM18"
},
"material_diameter": {
"default_value": 1.75,
"minimum_value_warning": "1.5",
"maximum_value_warning": "2.0"
}
}
}

View file

@ -0,0 +1,176 @@
{
"id": "maker_starter",
"version": 2,
"name": "3DMaker Starter",
"inherits": "fdmprinter",
"metadata": {
"author": "tvlgiao",
"manufacturer": "3DMaker",
"category": "Other",
"file_formats": "text/x-gcode;application/x-stl-ascii;application/x-stl-binary;application/x-wavefront-obj",
"icon": "icon_ultimaker2.png",
"platform": "makerstarter_platform.stl"
},
"overrides": {
"machine_width": {
"default_value": 210
},
"machine_depth": {
"default_value": 185
},
"machine_height": {
"default_value": 200
},
"machine_heated_bed": {
"default_value": false
},
"machine_center_is_zero": {
"default_value": false
},
"machine_nozzle_size": {
"default_value": 0.4
},
"machine_nozzle_heat_up_speed": {
"default_value": 2
},
"machine_nozzle_cool_down_speed": {
"default_value": 2
},
"gantry_height": {
"default_value": 55
},
"machine_gcode_flavor": {
"default_value": "RepRap"
},
"machine_disallowed_areas": {
"default_value": []
},
"machine_nozzle_tip_outer_diameter": {
"default_value": 1
},
"machine_nozzle_head_distance": {
"default_value": 3
},
"machine_nozzle_expansion_angle": {
"default_value": 45
},
"layer_height": {
"default_value": 0.2
},
"layer_height_0": {
"default_value": 0.2
},
"wall_line_count": {
"default_value": 2
},
"top_layers": {
"default_value": 4
},
"bottom_layers": {
"default_value": 4
},
"speed_print": {
"default_value": 50
},
"speed_wall": {
"default_value": 30
},
"speed_wall_0": {
"default_value": 30
},
"speed_wall_x": {
"default_value": 30
},
"speed_topbottom": {
"default_value": 50
},
"speed_support": {
"default_value": 50
},
"speed_travel": {
"default_value": 120
},
"speed_layer_0": {
"default_value": 20
},
"skirt_speed": {
"default_value": 15
},
"speed_slowdown_layers": {
"default_value": 4
},
"infill_sparse_density": {
"default_value": 20
},
"cool_fan_speed_min": {
"default_value": 50
},
"cool_fan_speed_max": {
"default_value": 100
},
"cool_fan_full_layer": {
"default_value": 4
},
"cool_min_layer_time": {
"default_value": 5
},
"cool_min_layer_time_fan_speed_max": {
"default_value": 10
},
"support_type": {
"default_value": "Everywhere"
},
"support_angle": {
"default_value": 45
},
"support_xy_distance": {
"default_value": 1
},
"support_z_distance": {
"default_value": 0.2
},
"support_top_distance": {
"default_value": 0.2
},
"support_bottom_distance": {
"default_value": 0.24
},
"support_pattern": {
"default_value": "ZigZag"
},
"support_infill_rate": {
"default_value": 15
},
"adhesion_type": {
"default_value": "Raft"
},
"skirt_minimal_length": {
"default_value": 100
},
"raft_base_line_spacing": {
"default_value": 2
},
"raft_base_thickness": {
"default_value": 0.3
},
"raft_base_line_width": {
"default_value": 2
},
"raft_base_speed": {
"default_value": 15
},
"raft_interface_thickness": {
"default_value": 0.24
},
"raft_interface_line_width": {
"default_value": 0.6
},
"raft_airgap": {
"default_value": 0.2
},
"raft_surface_layers": {
"default_value": 2
}
}
}

View file

@ -0,0 +1,65 @@
{
"id": "prusa_i3",
"version": 2,
"name": "Prusa i3",
"inherits": "fdmprinter",
"metadata": {
"visible": true,
"author": "Quillford",
"manufacturer": "Prusajr",
"category": "Other",
"file_formats": "text/x-gcode",
"icon": "icon_ultimaker2",
"platform": "prusai3_platform.stl"
},
"overrides": {
"machine_heated_bed": {
"default_value": true
},
"machine_width": {
"default_value": 200
},
"machine_height": {
"default_value": 200
},
"machine_depth": {
"default_value": 200
},
"machine_center_is_zero": {
"default_value": false
},
"machine_nozzle_size": {
"default_value": 0.4
},
"material_diameter": {
"default_value": 1.75
},
"machine_nozzle_heat_up_speed": {
"default_value": 2
},
"machine_nozzle_cool_down_speed": {
"default_value": 2
},
"machine_head_polygon": {
"default_value": [
[-75, -18],
[-75, 35],
[18, 35],
[18, -18]
]
},
"gantry_height": {
"default_value": 55
},
"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"
}
}
}

View file

@ -0,0 +1,65 @@
{
"id": "prusa_i3_xl",
"version": 2,
"name": "Prusa i3 xl",
"inherits": "fdmprinter",
"metadata": {
"visible": true,
"author": "guigashm",
"manufacturer": "Prusajr",
"category": "Other",
"file_formats": "text/x-gcode",
"icon": "icon_ultimaker2.png",
"platform": "prusai3_xl_platform.stl"
},
"overrides": {
"machine_heated_bed": {
"default_value": true
},
"machine_width": {
"default_value": 200
},
"machine_height": {
"default_value": 200
},
"machine_depth": {
"default_value": 270
},
"machine_center_is_zero": {
"default_value": false
},
"machine_nozzle_size": {
"default_value": 0.4
},
"material_diameter": {
"default_value": 1.75
},
"machine_nozzle_heat_up_speed": {
"default_value": 2.0
},
"machine_nozzle_cool_down_speed": {
"default_value": 2.0
},
"machine_head_polygon": {
"default_value": [
[-75, -18],
[-75, 35],
[18, 35],
[18, -18]
]
},
"gantry_height": {
"default_value": 55
},
"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"
}
}
}

View file

@ -0,0 +1,102 @@
{
"id": "rigidbot",
"version": 2,
"name": "RigidBot",
"inherits": "fdmprinter",
"metadata": {
"visible": true,
"author": "RBC",
"manufacturer": "RigidBot",
"category": "Other",
"file_formats": "text/x-gcode",
"platform": "rigidbot_platform.stl"
},
"overrides": {
"machine_width": {
"default_value": 254
},
"machine_depth": {
"default_value": 254
},
"machine_height": {
"default_value": 254
},
"machine_heated_bed": {
"default_value": true
},
"machine_nozzle_heat_up_speed": {
"default_value": 2
},
"machine_nozzle_cool_down_speed": {
"default_value": 2
},
"gantry_height": {
"default_value": 0
},
"machine_gcode_flavor": {
"default_value": "RepRap (Marlin/Sprinter)"
},
"machine_start_gcode": {
"default_value": ";Sliced at: {day} {date} {time}\n;Basic settings: Layer height: {layer_height} Walls: {wall_thickness} Fill: {infill_sparse_density}\n;Print time: {print_time}\n;Filament used: {filament_amount}m {filament_weight}g\n;Filament cost: {filament_cost}\n;M190 S{print_bed_temperature} ;Uncomment to add your own bed temperature line\n;M109 S{print_temperature} ;Uncomment to add your own temperature line\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\nM205 X8 ;X/Y Jerk settings\nG1 Z15.0 F{travel_speed} ;move the platform down 15mm\nG92 E0 ;zero the extruded length\nG1 F200 E7 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F{travel_speed}\n;Put printing message on LCD screen\nM117 Rigibot Printing..."
},
"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+10 E-1 X-20 Y-20 F{travel_speed} ;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\nG1 Y230 F3000 ;move Y so the head is out of the way and Plate is moved forward\nM84 ;steppers off\nG90 ;absolute positioning\n;{profile_string}"
},
"layer_height": {
"default_value": 0.2
},
"wall_thickness": {
"default_value": 0.8
},
"top_bottom_thickness": {
"default_value": 0.3
},
"material_print_temperature": {
"default_value": 195
},
"material_bed_temperature": {
"default_value": 60
},
"material_diameter": {
"default_value": 1.75
},
"speed_print": {
"default_value": 60
},
"speed_infill": {
"default_value": 100
},
"speed_topbottom": {
"default_value": 15
},
"speed_travel": {
"default_value": 150
},
"speed_layer_0": {
"default_value": 15,
"minimum_value": "0.1"
},
"infill_overlap": {
"default_value": 10
},
"cool_fan_enabled": {
"default_value": false
},
"cool_fan_speed": {
"default_value": 0
},
"skirt_line_count": {
"default_value": 3,
"enabled": "adhesion_type == \"Skirt\""
},
"skirt_gap": {
"default_value": 4,
"enabled": "adhesion_type == \"Skirt\""
},
"skirt_minimal_length": {
"default_value": 200,
"enabled": "adhesion_type == \"Skirt\""
}
}
}

View file

@ -0,0 +1,105 @@
{
"id": "rigidbotbig",
"version": 2,
"name": "RigidBotBig",
"inherits": "fdmprinter",
"metadata": {
"visible": true,
"author": "RBC",
"manufacturer": "RigidBot",
"category": "Other",
"file_formats": "text/x-gcode",
"platform": "rigidbotbig_platform.stl"
},
"overrides": {
"machine_width": {
"default_value": 400
},
"machine_depth": {
"default_value": 300
},
"machine_height": {
"default_value": 254
},
"machine_heated_bed": {
"default_value": true
},
"machine_nozzle_size": {
"default_value": 0.4
},
"machine_nozzle_heat_up_speed": {
"default_value": 2
},
"machine_nozzle_cool_down_speed": {
"default_value": 2
},
"gantry_height": {
"default_value": 0
},
"machine_gcode_flavor": {
"default_value": "RepRap (Marlin/Sprinter)"
},
"machine_start_gcode": {
"default_value": ";Sliced at: {day} {date} {time}\n;Basic settings: Layer height: {layer_height} Walls: {wall_thickness} Fill: {infill_sparse_density}\n;Print time: {print_time}\n;Filament used: {filament_amount}m {filament_weight}g\n;Filament cost: {filament_cost}\n;M190 S{print_bed_temperature} ;Uncomment to add your own bed temperature line\n;M109 S{print_temperature} ;Uncomment to add your own temperature line\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\nM205 X8 ;X/Y Jerk settings\nG1 Z15.0 F{travel_speed} ;move the platform down 15mm\nG92 E0 ;zero the extruded length\nG1 F200 E7 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F{travel_speed}\n;Put printing message on LCD screen\nM117 Rigibot Printing..."
},
"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+10 E-1 X-20 Y-20 F{travel_speed} ;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\nG1 Y230 F3000 ;move Y so the head is out of the way and Plate is moved forward\nM84 ;steppers off\nG90 ;absolute positioning\n;{profile_string}"
},
"layer_height": {
"default_value": 0.2
},
"wall_thickness": {
"default_value": 0.8
},
"top_bottom_thickness": {
"default_value": 0.3
},
"material_print_temperature": {
"default_value": 195
},
"material_bed_temperature": {
"default_value": 60
},
"material_diameter": {
"default_value": 1.75
},
"speed_print": {
"default_value": 60
},
"speed_infill": {
"default_value": 100
},
"speed_topbottom": {
"default_value": 15
},
"speed_travel": {
"default_value": 150
},
"speed_layer_0": {
"default_value": 15,
"minimum_value": "0.1"
},
"infill_overlap": {
"default_value": 10
},
"cool_fan_enabled": {
"default_value": false
},
"cool_fan_speed": {
"default_value": 0
},
"skirt_line_count": {
"default_value": 3,
"enabled": "adhesion_type == \"Skirt\""
},
"skirt_gap": {
"default_value": 4,
"enabled": "adhesion_type == \"Skirt\""
},
"skirt_minimal_length": {
"default_value": 200,
"enabled": "adhesion_type == \"Skirt\""
}
}
}

View file

@ -0,0 +1,14 @@
{
"id": "ultimaker_base",
"version": 2,
"visible": false,
"name": "Ultimaker",
"inherits": "fdmprinter",
"metadata": {
"author": "Ultimaker",
"manufacturer": "Ultimaker",
"preferred_profile": "Normal Quality",
"preferred_nozzle": "0.4 mm",
"preferred_material": "PLA"
}
}

View file

@ -0,0 +1,108 @@
{
"id": "ultimaker2",
"version": 2,
"name": "Ultimaker 2",
"inherits": "ultimaker",
"metadata": {
"visible": true,
"author": "Ultimaker",
"manufacturer": "Ultimaker",
"category": "Ultimaker",
"file_formats": "text/x-gcode",
"icon": "icon_ultimaker2.png",
"platform": "ultimaker2_platform.obj",
"platform_texture": "Ultimaker2backplate.png",
"platform_offset": [9, 0, 0]
},
"overrides": {
"machine_start_gcode" : {
"default_value": ""
},
"machine_end_gcode" : {
"default_value": ""
},
"machine_width": {
"default_value": 223
},
"machine_depth": {
"default_value": 223
},
"machine_height": {
"default_value": 205
},
"machine_heated_bed": {
"default_value": true
},
"machine_head_with_fans_polygon":
{
"default_value": [
[ -42, 12 ],
[ -42, -32 ],
[ 62, 12 ],
[ 62, -32 ]
]
},
"machine_center_is_zero": {
"default_value": false
},
"machine_nozzle_size": {
"default_value": 0.4,
"minimum_value": "0.001"
},
"machine_nozzle_heat_up_speed": {
"default_value": 2
},
"machine_nozzle_cool_down_speed": {
"default_value": 2
},
"gantry_height": {
"default_value": 55
},
"machine_use_extruder_offset_to_offset_coords": {
"default_value": true
},
"machine_gcode_flavor": {
"default_value": "UltiGCode"
},
"machine_disallowed_areas": {
"default_value": [
[[-115, 112.5], [ -82, 112.5], [ -84, 102.5], [-115, 102.5]],
[[ 115, 112.5], [ 115, 102.5], [ 110, 102.5], [ 108, 112.5]],
[[-115, -112.5], [-115, -104.5], [ -84, -104.5], [ -82, -112.5]],
[[ 115, -112.5], [ 108, -112.5], [ 110, -104.5], [ 115, -104.5]]
]},
"machine_nozzle_tip_outer_diameter": {
"default_value": 1
},
"machine_nozzle_head_distance": {
"default_value": 3
},
"machine_nozzle_expansion_angle": {
"default_value": 45
},
"material_print_temperature": {
"enabled": "False"
},
"material_bed_temperature": {
"enabled": "False"
},
"material_diameter": {
"enabled": "False"
},
"material_flow": {
"enabled": "False"
},
"retraction_amount": {
"enabled": "False"
},
"retraction_speed": {
"enabled": "False"
},
"retraction_retract_speed": {
"enabled": "False"
},
"retraction_prime_speed": {
"enabled": "False"
}
}
}

View file

@ -0,0 +1,21 @@
{
"id": "ultimaker2_extended",
"version": 2,
"name": "Ultimaker 2 Extended",
"inherits": "ultimaker2",
"metadata": {
"author": "Ultimaker",
"manufacturer": "Ultimaker",
"category": "Ultimaker",
"file_formats": "text/x-gcode",
"icon": "icon_ultimaker2.png",
"platform": "ultimaker2_platform.obj",
"platform_texture": "Ultimaker2Extendedbackplate.png"
},
"overrides": {
"machine_height": {
"default_value": 315
}
}
}

View file

@ -0,0 +1,30 @@
{
"id": "ultimaker2_extended_plus",
"version": 2,
"name": "Ultimaker 2 Extended+",
"inherits": "ultimaker2_plus",
"visible": false,
"metadata": {
"author": "Ultimaker",
"manufacturer": "Ultimaker",
"category": "Ultimaker",
"file_formats": "text/x-gcode",
"platform": "ultimaker2_platform.obj",
"platform_texture": "Ultimaker2ExtendedPlusbackplate.png"
},
"overrides": {
"machine_height": {
"default_value": 313
},
"machine_show_variants": {
"default_value": true
},
"machine_nozzle_head_distance": {
"default_value": 5
},
"machine_nozzle_expansion_angle": {
"default_value": 45
}
}
}

View file

@ -0,0 +1,39 @@
{
"id": "ultimaker2_go",
"version": 2,
"name": "Ultimaker 2 Go",
"inherits": "ultimaker2",
"metadata": {
"author": "Ultimaker",
"manufacturer": "Ultimaker",
"category": "Ultimaker",
"file_formats": "text/x-gcode",
"icon": "icon_ultimaker2.png",
"platform": "ultimaker2go_platform.obj",
"platform_texture": "Ultimaker2Gobackplate.png",
"platform_offset": [0, 0, 0]
},
"overrides": {
"machine_width": {
"default_value": 120
},
"machine_depth": {
"default_value": 120
},
"machine_height": {
"default_value": 115
},
"machine_heated_bed": {
"default_value": false
},
"machine_disallowed_areas": {
"default_value": [
[[-60, 60], [-33, 60], [-35, 52], [-60, 52]],
[[ 60, 60], [ 60, 52], [ 35, 52], [ 33, 60]],
[[-60, -60], [-60, -52], [-35, -52], [-33, -60]],
[[ 60, -60], [ 33, -60], [ 35, -52], [ 60, -52]]
]
}
}
}

View file

@ -0,0 +1,74 @@
{
"id": "ultimaker2_plus",
"version": 2,
"name": "Ultimaker 2+",
"inherits": "ultimaker2",
"visible": "false",
"metadata": {
"author": "Ultimaker",
"manufacturer": "Ultimaker",
"category": "Ultimaker",
"file_formats": "text/x-gcode",
"platform": "ultimaker2_platform.obj",
"platform_texture": "Ultimaker2Plusbackplate.png",
"preferred_variant": "ultimaker2_plus_0.4",
"preferred_material": "pla",
"preferred_quality": "high"
},
"overrides": {
"speed_infill": {
"value": "speed_print"
},
"speed_wall_x": {
"value": "speed_wall"
},
"layer_height_0": {
"value": "round(machine_nozzle_size / 1.5, 2)"
},
"line_width": {
"value": "round(machine_nozzle_size * 0.875, 2)"
},
"speed_layer_0": {
"default_value": 20
},
"speed_support": {
"value": "speed_wall_0"
},
"machine_height": {
"default_value": 203
},
"machine_show_variants": {
"default_value": true
},
"gantry_height": {
"default_value": 52
},
"machine_nozzle_head_distance": {
"default_value": 5
},
"machine_nozzle_expansion_angle": {
"default_value": 45
},
"machine_heat_zone_length": {
"default_value": 20
},
"machine_head_with_fans_polygon":
{
"default_value": [
[ -44, 14 ],
[ -44, -34 ],
[ 64, 14 ],
[ 64, -34 ]
]
},
"machine_disallowed_areas": {
"default_value": [
[[-115, 112.5], [ -78, 112.5], [ -80, 102.5], [-115, 102.5]],
[[ 115, 112.5], [ 115, 102.5], [ 105, 102.5], [ 103, 112.5]],
[[-115, -112.5], [-115, -104.5], [ -84, -104.5], [ -82, -112.5]],
[[ 115, -112.5], [ 108, -112.5], [ 110, -104.5], [ 115, -104.5]]
]
}
}
}

View file

@ -0,0 +1,68 @@
{
"id": "ultimaker_original",
"version": 2,
"name": "Ultimaker Original",
"inherits": "ultimaker",
"metadata": {
"author": "Ultimaker",
"manufacturer": "Ultimaker",
"category": "Ultimaker",
"file_formats": "text/x-gcode",
"icon": "icon_ultimaker.png",
"platform": "ultimaker_platform.stl",
"pages": [
"SelectUpgradedParts",
"UpgradeFirmware",
"UltimakerCheckup",
"BedLeveling"
]
},
"overrides": {
"machine_width": {
"default_value": 205
},
"machine_height": {
"default_value": 200
},
"machine_depth": {
"default_value": 205
},
"machine_center_is_zero": {
"default_value": false
},
"machine_nozzle_size": {
"default_value": 0.4
},
"machine_nozzle_heat_up_speed": {
"default_value": 2
},
"machine_nozzle_cool_down_speed": {
"default_value": 2
},
"machine_head_with_fans_polygon":
{
"default_value": [
[ -75, 35 ],
[ -75, -18 ],
[ 18, 35 ],
[ 18, -18 ]
]
},
"gantry_height": {
"default_value": 55
},
"machine_use_extruder_offset_to_offset_coords": {
"default_value": true
},
"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 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"
}
}
}

View file

@ -0,0 +1,26 @@
{
"id": "ultimaker_original_plus",
"version": 2,
"name": "Ultimaker Original+",
"inherits": "ultimaker_original",
"metadata": {
"author": "Ultimaker",
"manufacturer": "Ultimaker",
"category": "Ultimaker",
"file_formats": "text/x-gcode",
"icon": "icon_ultimaker.png",
"platform": "ultimaker2_platform.obj",
"platform_texture": "UltimakerPlusbackplate.png",
"pages": [
"UpgradeFirmware",
"UltimakerCheckup",
"BedLeveling"
]
},
"overrides": {
"machine_heated_bed": {
"default_value": true
}
}
}

View file

@ -0,0 +1,55 @@
{
"id": "uniqbot_one",
"version": 2,
"name": "Uniqbot",
"inherits": "fdmprinter",
"metadata": {
"author": "Unimatech",
"manufacturer": "Unimatech",
"category": "Other",
"file_formats": "text/x-gcode",
"icon": "icon_ultimaker2.png"
},
"overrides": {
"machine_heated_bed": {
"default_value": false
},
"machine_width": {
"default_value": 140
},
"machine_height": {
"default_value": 120
},
"machine_depth": {
"default_value": 160
},
"machine_center_is_zero": {
"default_value": false
},
"machine_nozzle_size": {
"default_value": 0.5
},
"material_diameter": {
"default_value": 1.75
},
"machine_nozzle_heat_up_speed": {
"default_value": 2
},
"machine_nozzle_cool_down_speed": {
"default_value": 2
},
"gantry_height": {
"default_value": 55
},
"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+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"
}
}
}

View file

@ -0,0 +1,9 @@
[general]
version = 2
name = high
definition = fdmprinter
[metadata]
type = quality
[values]

View file

@ -0,0 +1,9 @@
[general]
version = 2
name = normal
definition = fdmprinter
[metadata]
type = quality
[values]

View file

@ -1,57 +0,0 @@
{
"id": "rigidbot",
"version": 1,
"name": "RigidBot",
"manufacturer": "Other",
"author": "RBC",
"platform": "rigidbot_platform.stl",
"file_formats": "text/x-gcode",
"inherits": "fdmprinter.json",
"machine_settings": {
"machine_width": { "default": 254 },
"machine_depth": { "default": 254 },
"machine_height": { "default": 254 },
"machine_heated_bed": { "default": true },
"machine_nozzle_size": { "default": 0.4,
"visible": true
},
"machine_nozzle_heat_up_speed": { "default": 2.0 },
"machine_nozzle_cool_down_speed": { "default": 2.0 },
"machine_head_shape_min_x": { "default": 0 },
"machine_head_shape_min_y": { "default": 0 },
"machine_head_shape_max_x": { "default": 0 },
"machine_head_shape_max_y": { "default": 0 },
"machine_nozzle_gantry_distance": { "default": 0 },
"machine_gcode_flavor": { "default": "RepRap (Marlin/Sprinter)" },
"machine_start_gcode": {
"default": ";Sliced at: {day} {date} {time}\n;Basic settings: Layer height: {layer_height} Walls: {wall_thickness} Fill: {infill_sparse_density}\n;Print time: {print_time}\n;Filament used: {filament_amount}m {filament_weight}g\n;Filament cost: {filament_cost}\n;M190 S{print_bed_temperature} ;Uncomment to add your own bed temperature line\n;M109 S{print_temperature} ;Uncomment to add your own temperature line\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\nM205 X8 ;X/Y Jerk settings\nG1 Z15.0 F{travel_speed} ;move the platform down 15mm\nG92 E0 ;zero the extruded length\nG1 F200 E7 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F{travel_speed}\n;Put printing message on LCD screen\nM117 Rigibot Printing..."
},
"machine_end_gcode": {
"default": ";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+10 E-1 X-20 Y-20 F{travel_speed} ;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\nG1 Y230 F3000 ;move Y so the head is out of the way and Plate is moved forward\nM84 ;steppers off\nG90 ;absolute positioning\n;{profile_string}"
}
},
"overrides": {
"layer_height": { "default": 0.2 },
"wall_thickness": { "default": 0.8 },
"top_bottom_thickness": { "default": 0.3, "visible": true },
"material_print_temperature": { "default": 195, "visible": true },
"material_bed_temperature": { "default": 60, "visible": true },
"material_diameter": { "default": 1.75, "visible": true },
"speed_print": { "default": 60.0, "visible": true },
"speed_infill": { "default": 100.0, "visible": true },
"speed_topbottom": { "default": 15.0, "visible": true },
"speed_travel": { "default": 150.0, "visible": true },
"speed_layer_0": { "min_value": "0.1", "default": 15.0, "visible": true },
"infill_overlap": { "default": 10.0 },
"cool_fan_enabled": { "default": false, "visible": true },
"cool_fan_speed": { "default": 0.0, "visible": true },
"skirt_line_count": { "default": 3, "active_if": { "setting": "adhesion_type", "value": "None" } },
"skirt_gap": { "default": 4.0, "active_if": { "setting": "adhesion_type", "value": "None" } },
"skirt_minimal_length": { "default": 200.0, "active_if": { "setting": "adhesion_type", "value": "None" } }
}
}

View file

@ -1,55 +0,0 @@
{
"id": "rigidbotbig",
"version": 1,
"name": "RigidBotBig",
"manufacturer": "Other",
"author": "RBC",
"platform": "rigidbotbig_platform.stl",
"file_formats": "text/x-gcode",
"inherits": "fdmprinter.json",
"machine_settings": {
"machine_width": { "default": 400 },
"machine_depth": { "default": 300 },
"machine_height": { "default": 254 },
"machine_heated_bed": { "default": true },
"machine_nozzle_size": { "default": 0.4},
"machine_nozzle_heat_up_speed": { "default": 2.0 },
"machine_nozzle_cool_down_speed": { "default": 2.0 },
"machine_head_shape_min_x": { "default": 0 },
"machine_head_shape_min_y": { "default": 0 },
"machine_head_shape_max_x": { "default": 0 },
"machine_head_shape_max_y": { "default": 0 },
"machine_nozzle_gantry_distance": { "default": 0 },
"machine_gcode_flavor": { "default": "RepRap (Marlin/Sprinter)" },
"machine_start_gcode": {
"default": ";Sliced at: {day} {date} {time}\n;Basic settings: Layer height: {layer_height} Walls: {wall_thickness} Fill: {infill_sparse_density}\n;Print time: {print_time}\n;Filament used: {filament_amount}m {filament_weight}g\n;Filament cost: {filament_cost}\n;M190 S{print_bed_temperature} ;Uncomment to add your own bed temperature line\n;M109 S{print_temperature} ;Uncomment to add your own temperature line\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\nM205 X8 ;X/Y Jerk settings\nG1 Z15.0 F{travel_speed} ;move the platform down 15mm\nG92 E0 ;zero the extruded length\nG1 F200 E7 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F{travel_speed}\n;Put printing message on LCD screen\nM117 Rigibot Printing..."
},
"machine_end_gcode": {
"default": ";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+10 E-1 X-20 Y-20 F{travel_speed} ;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\nG1 Y230 F3000 ;move Y so the head is out of the way and Plate is moved forward\nM84 ;steppers off\nG90 ;absolute positioning\n;{profile_string}"
}
},
"overrides": {
"layer_height": { "default": 0.2 },
"wall_thickness": { "default": 0.8 },
"top_bottom_thickness": { "default": 0.3, "visible": true },
"material_print_temperature": { "default": 195, "visible": true },
"material_bed_temperature": { "default": 60, "visible": true },
"material_diameter": { "default": 1.75, "visible": true },
"speed_print": { "default": 60.0, "visible": true},
"speed_infill": { "default": 100.0, "visible": true },
"speed_topbottom": { "default": 15.0, "visible": true },
"speed_travel": { "default": 150.0, "visible": true },
"speed_layer_0": { "min_value": "0.1", "default": 15.0, "visible": true },
"infill_overlap": { "default": 10.0 },
"cool_fan_enabled": { "default": false, "visible": true},
"cool_fan_speed": { "default": 0.0, "visible": true },
"skirt_line_count": { "default": 3, "active_if": { "setting": "adhesion_type", "value": "None" } },
"skirt_gap": { "default": 4.0, "active_if": { "setting": "adhesion_type", "value": "None" } },
"skirt_minimal_length": { "default": 200.0, "active_if": { "setting": "adhesion_type", "value": "None" } }
}
}

View file

@ -1,55 +0,0 @@
{
"id": "bq_hephestos",
"version": 1,
"name": "BQ Prusa i3 Hephestos",
"manufacturer": "Other",
"author": "BQ",
"platform": "bq_hephestos_platform.stl",
"file_formats": "text/x-gcode",
"inherits": "fdmprinter.json",
"overrides": {
"machine_start_gcode": {
"default": "; -- 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 Z15.0 F1200 ;move Z to position 15.0 mm\nG92 E0 ;zero the extruded length\nG1 E20 F200 ;extrude 20mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F7200 ;set feedrate to 120 mm/sec\n; -- end of START GCODE --"
},
"machine_end_gcode": {
"default": "; -- END GCODE --\nM104 S0 ;set extruder temperature to zero (turned off)\nG91 ;set to relative positioning\nG1 E-20 F300 ;retract the filament a bit to release some of the pressure\nG1 Z10 ;move extruder up 10 mm\nG90 ;set to absolute positioning\nG1 X0 Y180 F1200 ;expose the platform\nM84 ;turn off steppers\n; -- end of END GCODE --"
},
"machine_width": {
"default": 215
},
"machine_depth": {
"default": 210
},
"machine_height": {
"default": 180
},
"machine_heated_bed": {
"default": false
},
"machine_center_is_zero": {
"default": false
},
"machine_gcode_flavor": {
"default": "RepRap"
},
"machine_platform_offset": {
"default": [0, -82, 0]
},
"layer_height": { "default": 0.2 },
"layer_height_0": { "default": 0.2, "visible": false },
"wall_thickness": { "default": 1.0, "visible": false },
"top_bottom_thickness": { "default": 1.0, "visible": false},
"bottom_thickness": { "default": 1.0, "visible": false },
"material_print_temperature": { "default": 220, "visible": true },
"material_bed_temperature": { "default": 0, "visible": false },
"material_diameter": { "default": 1.75, "visible": true },
"speed_print": { "default": 40.0},
"speed_infill": { "default": 40.0, "visible": true },
"speed_wall": { "default": 35.0, "visible": true},
"speed_topbottom": { "default": 35.0, "visible": true },
"speed_travel": { "default": 120.0 },
"speed_layer_0": { "default": 20.0, "visible": false },
"support_enable": { "default": true }
}
}

View file

@ -1,59 +0,0 @@
{
"id": "bq_hephestos_2",
"version": 1,
"name": "BQ Hephestos 2",
"manufacturer": "Other",
"author": "BQ",
"platform": "bq_hephestos_2_platform.stl",
"file_formats": "text/x-gcode",
"inherits": "fdmprinter.json",
"overrides": {
"machine_start_gcode": {
"default": "; -- START GCODE --\nM800 ; Custom GCODE to fire start print procedure\n; -- end of START GCODE --"
},
"machine_end_gcode": {
"default": "; -- END GCODE --\nM801 ; Custom GCODE to fire end print procedure\n; -- end of END GCODE --"
},
"machine_width": {
"default": 210
},
"machine_depth": {
"default": 297
},
"machine_height": {
"default": 220
},
"machine_heated_bed": {
"default": false
},
"machine_center_is_zero": {
"default": false
},
"machine_platform_offset": {
"default": [6, 1320, 0]
},
"material_print_temperature": { "default": 210.0, "visible": true },
"material_bed_temperature": { "default": 0 },
"material_diameter": { "default": 1.75 },
"layer_height": { "default": 0.2 },
"layer_height_0": { "default": 0.2, "visible": true },
"wall_line_count": { "default": 3, "visible": false },
"wall_thickness": { "default": 1.2, "visible": false },
"top_bottom_thickness": { "default": 1.2, "visible": false },
"infill_sparse_density": { "default": 20.0 },
"infill_overlap": { "default": 15.0, "visible": false },
"speed_print": { "default": 60.0 },
"speed_travel": { "default": 160.0 },
"speed_layer_0": { "default": 30.0, "visible": true },
"speed_wall_x": { "default": 35.0, "visible": false },
"speed_wall_0": { "default": 30.0, "visible": false },
"speed_infill": { "default": 80.0, "visible": true },
"speed_topbottom": { "default": 35.0, "visible": false },
"skirt_speed": { "default": 35.0, "visible": false },
"skirt_line_count": { "default": 4 },
"skirt_minimal_length": { "default": 30.0, "visible": false },
"skirt_gap": { "default": 6.0 },
"cool_fan_full_at_height": { "default": 0.4, "visible": false }
}
}

View file

@ -1,55 +0,0 @@
{
"id": "bq_hephestos_xl",
"version": 1,
"name": "BQ Prusa i3 Hephestos XL",
"manufacturer": "Other",
"author": "BQ",
"platform": "bq_hephestos_platform.stl",
"file_formats": "text/x-gcode",
"inherits": "fdmprinter.json",
"overrides": {
"machine_start_gcode": {
"default": "; -- 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 Z15.0 F1200 ;move Z to position 15.0 mm\nG92 E0 ;zero the extruded length\nG1 E20 F200 ;extrude 20mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F7200 ;set feedrate to 120 mm/sec\n; -- end of START GCODE --"
},
"machine_end_gcode": {
"default": "; -- END GCODE --\nM104 S0 ;set extruder temperature to zero (turned off)\nG91 ;set to relative positioning\nG1 E-20 F300 ;retract the filament a bit to release some of the pressure\nG1 Z10 ;move extruder up 10 mm\nG90 ;set to absolute positioning\nG1 X0 Y180 F1200 ;expose the platform\nM84 ;turn off steppers\n; -- end of END GCODE --"
},
"machine_width": {
"default": 200
},
"machine_depth": {
"default": 300
},
"machine_height": {
"default": 180
},
"machine_heated_bed": {
"default": false
},
"machine_center_is_zero": {
"default": false
},
"machine_gcode_flavor": {
"default": "RepRap"
},
"machine_platform_offset": {
"default": [0, -82, 0]
},
"layer_height": { "default": 0.2 },
"layer_height_0": { "default": 0.2, "visible": false },
"wall_thickness": { "default": 1.0, "visible": false },
"top_bottom_thickness": { "default": 1.0, "visible": false},
"bottom_thickness": { "default": 1.0, "visible": false },
"material_print_temperature": { "default": 220, "visible": true },
"material_bed_temperature": { "default": 0, "visible": false },
"material_diameter": { "default": 1.75, "visible": true },
"speed_print": { "default": 40.0},
"speed_infill": { "default": 40.0, "visible": true },
"speed_wall": { "default": 35.0, "visible": true},
"speed_topbottom": { "default": 35.0, "visible": true },
"speed_travel": { "default": 120.0 },
"speed_layer_0": { "default": 20.0, "visible": false },
"support_enable": { "default": true }
}
}

View file

@ -1,55 +0,0 @@
{
"id": "bq_witbox",
"version": 1,
"name": "BQ Witbox",
"manufacturer": "Other",
"author": "BQ",
"platform": "bq_witbox_platform.stl",
"file_formats": "text/x-gcode",
"inherits": "fdmprinter.json",
"overrides": {
"machine_start_gcode": {
"default": "; -- 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 Z15.0 F1200 ;move Z to position 15.0 mm\nG92 E0 ;zero the extruded length\nG1 E20 F200 ;extrude 20mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F7200 ;set feedrate to 120 mm/sec\n; -- end of START GCODE --"
},
"machine_end_gcode": {
"default": "; -- END GCODE --\nM104 S0 ;set extruder temperature to zero (turned off)\nG91 ;set to relative positioning\nG1 E-20 F300 ;retract the filament a bit to release some of the pressure\nG90 ;set to absolute positioning\nG1 Z200 ;move the platform to the bottom\nG28 X0 Y0 ;move to the X/Y origin (Home)\nM84 ;turn off steppers\n; -- end of END GCODE --"
},
"machine_width": {
"default": 297
},
"machine_depth": {
"default": 210
},
"machine_height": {
"default": 200
},
"machine_heated_bed": {
"default": false
},
"machine_center_is_zero": {
"default": false
},
"machine_gcode_flavor": {
"default": "RepRap"
},
"machine_platform_offset": {
"default": [0, -145, -38]
},
"layer_height": { "default": 0.2 },
"layer_height_0": { "default": 0.2, "visible": false },
"wall_thickness": { "default": 1.0, "visible": false },
"top_bottom_thickness": { "default": 1.0, "visible": false},
"bottom_thickness": { "default": 1.0, "visible": false },
"material_print_temperature": { "default": 220, "visible": true },
"material_bed_temperature": { "default": 0, "visible": false },
"material_diameter": { "default": 1.75, "visible": true },
"speed_print": { "default": 40.0},
"speed_infill": { "default": 40.0, "visible": true },
"speed_wall": { "default": 35.0, "visible": true},
"speed_topbottom": { "default": 35.0, "visible": true },
"speed_travel": { "default": 120.0 },
"speed_layer_0": { "default": 20.0, "visible": false },
"support_enable": { "default": true }
}
}

View file

@ -1,63 +0,0 @@
{
"id": "bq_witbox_2",
"version": 1,
"name": "BQ Witbox 2",
"manufacturer": "Other",
"author": "BQ",
"platform": "bq_witbox_platform.stl",
"file_formats": "text/x-gcode",
"inherits": "fdmprinter.json",
"overrides": {
"machine_start_gcode": {
"default": "; -- START GCODE --\nM800 ; Custom GCODE to fire start print procedure\n; -- end of START GCODE --"
},
"machine_end_gcode": {
"default": "; -- END GCODE --\nM801 ; Custom GCODE to fire end print procedure\n; -- end of END GCODE --"
},
"machine_width": {
"default": 297
},
"machine_depth": {
"default": 210
},
"machine_height": {
"default": 200
},
"machine_heated_bed": {
"default": false
},
"machine_center_is_zero": {
"default": false
},
"machine_gcode_flavor": {
"default": "RepRap"
},
"machine_platform_offset": {
"default": [0, -145, -38]
},
"material_print_temperature": { "default": 210.0, "visible": true },
"material_bed_temperature": { "default": 0 },
"material_diameter": { "default": 1.75 },
"layer_height": { "default": 0.2 },
"layer_height_0": { "default": 0.2, "visible": true },
"wall_line_count": { "default": 3, "visible": false },
"wall_thickness": { "default": 1.2, "visible": false },
"top_bottom_thickness": { "default": 1.2, "visible": false },
"infill_sparse_density": { "default": 20.0 },
"infill_overlap": { "default": 15.0, "visible": false },
"speed_print": { "default": 60.0 },
"speed_travel": { "default": 160.0 },
"speed_layer_0": { "default": 30.0, "visible": true },
"speed_wall_x": { "default": 35.0, "visible": false },
"speed_wall_0": { "default": 30.0, "visible": false },
"speed_infill": { "default": 80.0, "visible": true },
"speed_topbottom": { "default": 35.0, "visible": false },
"skirt_speed": { "default": 35.0, "visible": false },
"skirt_line_count": { "default": 4 },
"skirt_minimal_length": { "default": 30.0, "visible": false },
"skirt_gap": { "default": 6.0 },
"cool_fan_full_at_height": { "default": 0.4, "visible": false },
"support_enable": { "default": false }
}
}

View file

@ -1,322 +0,0 @@
{
"version": 1,
"id": "dual_extrusion",
"name": "Dual Extrusion Base File",
"file_formats": "text/x-gcode;application/x-stl-ascii;application/x-stl-binary;application/x-wavefront-obj;application/x3g",
"inherits": "fdmprinter.json",
"visible": false,
"machine_extruder_trains": {
"0": {
"extruder_nr": { "default": 0 },
"machine_nozzle_offset_x": { "default": 0.0 },
"machine_nozzle_offset_y": { "default": 0.0 }
},
"1": {
"extruder_nr": { "default": 1 }
}
},
"machine_settings": {
"machine_use_extruder_offset_to_offset_coords": { "default": false },
"machine_nozzle_offset_x": { "default": 0, "SEE_machine_extruder_trains": true },
"machine_nozzle_offset_y": { "default": 0, "SEE_machine_extruder_trains": true },
"machine_extruder_start_code": { "default": "", "SEE_machine_extruder_trains": true },
"machine_extruder_start_pos_abs": { "default": false, "SEE_machine_extruder_trains": true },
"machine_extruder_start_pos_x": { "default": 0, "SEE_machine_extruder_trains": true },
"machine_extruder_start_pos_y": { "default": 0, "SEE_machine_extruder_trains": true },
"machine_extruder_end_pos_abs": { "default": false, "SEE_machine_extruder_trains": true },
"machine_extruder_end_pos_x": { "default": 0, "SEE_machine_extruder_trains": true },
"machine_extruder_end_pos_y": { "default": 0, "SEE_machine_extruder_trains": true },
"machine_extruder_end_code": { "default": "", "SEE_machine_extruder_trains": true }
},
"overrides": {
"speed_print": {
"children": {
"speed_prime_tower": {
"label": "Prime Tower Speed",
"description": "The speed at which the prime tower is printed. Printing the prime tower slower can make it more stable when the adhesion between the different filaments is suboptimal.",
"unit": "mm/s",
"type": "float",
"min_value": "0.1",
"max_value_warning": "150",
"default": 60,
"visible": false,
"enabled": "prime_tower_enable",
"global_only": true
}
}
},
"line_width": {
"children": {
"prime_tower_line_width": {
"label": "Prime Tower Line Width",
"description": "Width of a single prime tower line.",
"unit": "mm",
"min_value": "0.0001",
"min_value_warning": "0.2",
"max_value_warning": "5",
"default": 0.4,
"type": "float",
"visible": false,
"enabled": "prime_tower_enable",
"global_only": true
}
}
}
},
"categories": {
"dual": {
"label": "Dual Extrusion",
"visible": true,
"icon": "category_dual",
"settings": {
"extruder_nr": {
"label": "Extruder",
"description": "The extruder train used for printing. This is used in multi-extrusion.",
"type": "int",
"default": 0,
"min_value": "0",
"max_value": "machine_extruder_count - 1",
"always_visible": true
},
"adhesion_extruder_nr": {
"label": "Platform Adhesion Extruder",
"description": "The extruder train to use for printing the skirt/brim/raft. This is used in multi-extrusion.",
"type": "int",
"default": 0,
"min_value": "0",
"max_value": "machine_extruder_count - 1",
"global_only": true
},
"support_extruder_nr": {
"label": "Support Extruder",
"description": "The extruder train to use for printing the support. This is used in multi-extrusion.",
"type": "int",
"default": 0,
"min_value": "0",
"max_value": "machine_extruder_count - 1",
"global_only": true,
"children": {
"support_infill_extruder_nr": {
"label": "Support Infill Extruder",
"description": "The extruder train to use for printing the infill of the support. This is used in multi-extrusion.",
"type": "int",
"default": 0,
"min_value": "0",
"max_value": "machine_extruder_count - 1",
"global_only": true
},
"support_extruder_nr_layer_0": {
"label": "First Layer Support Extruder",
"description": "The extruder train to use for printing the first layer of support infill. This is used in multi-extrusion.",
"type": "int",
"default": 0,
"min_value": "0",
"max_value": "machine_extruder_count - 1",
"global_only": true
},
"support_roof_extruder_nr": {
"label": "Support Roof Extruder",
"description": "The extruder train to use for printing the roof of the support. This is used in multi-extrusion.",
"type": "int",
"default": 0,
"min_value": "0",
"max_value": "machine_extruder_count - 1",
"enabled": "support_roof_enable",
"global_only": true
}
}
},
"prime_tower_enable": {
"label": "Enable Prime Tower",
"description": "Print a tower next to the print which serves to prime the material after each nozzle switch.",
"type": "boolean",
"visible": true,
"default": false,
"global_only": true
},
"prime_tower_size": {
"label": "Prime Tower Size",
"description": "The width of the prime tower.",
"visible": false,
"type": "float",
"unit": "mm",
"default": 15,
"min_value": "0",
"max_value_warning": "20",
"inherit_function": "15 if prime_tower_enable else 0",
"enabled": "prime_tower_enable",
"global_only": true
},
"prime_tower_position_x": {
"label": "Prime Tower X Position",
"description": "The x position of the prime tower.",
"visible": false,
"type": "float",
"unit": "mm",
"default": 200,
"min_value_warning": "-1000",
"max_value_warning": "1000",
"enabled": "prime_tower_enable",
"global_only": true
},
"prime_tower_position_y": {
"label": "Prime Tower Y Position",
"description": "The y position of the prime tower.",
"visible": false,
"type": "float",
"unit": "mm",
"default": 200,
"min_value_warning": "-1000",
"max_value_warning": "1000",
"enabled": "prime_tower_enable",
"global_only": true
},
"prime_tower_flow": {
"label": "Prime Tower Flow",
"description": "Flow compensation: the amount of material extruded is multiplied by this value.",
"visible": false,
"unit": "%",
"default": 100,
"type": "float",
"min_value": "5",
"min_value_warning": "50",
"max_value_warning": "150",
"enabled": "prime_tower_enable",
"global_only": true
},
"prime_tower_wipe_enabled": {
"label": "Wipe Nozzle on Prime tower",
"description": "After printing the prime tower with the one nozzle, wipe the oozed material from the other nozzle off on the prime tower.",
"type": "boolean",
"default": false,
"enabled": "prime_tower_enable",
"global_only": true
},
"multiple_mesh_overlap": {
"label": "Dual Extrusion Overlap",
"description": "Make the objects printed with different extruder trains overlap a bit. This makes the different materials bond together better.",
"visible": false,
"type": "float",
"unit": "mm",
"default": 0.15,
"min_value": "0",
"max_value_warning": "1.0"
},
"ooze_shield_enabled": {
"label": "Enable Ooze Shield",
"description": "Enable exterior ooze shield. This will create a shell around the object which is likely to wipe a second nozzle if it's at the same height as the first nozzle.",
"type": "boolean",
"default": false,
"global_only": true
},
"ooze_shield_angle": {
"label": "Ooze Shield Angle",
"description": "The maximum angle a part in the ooze shield will have. With 0 degrees being vertical, and 90 degrees being horizontal. A smaller angle leads to less failed ooze shields, but more material.",
"unit": "°",
"type": "float",
"min_value": "0",
"max_value": "90",
"default": 60,
"visible": false,
"enabled": "ooze_shield_enabled",
"global_only": true
},
"ooze_shield_dist": {
"label": "Ooze Shields Distance",
"description": "Distance of the ooze shield from the print, in the X/Y directions.",
"unit": "mm",
"type": "float",
"min_value": "0",
"max_value_warning": "30",
"default": 2,
"visible": false,
"enabled": "ooze_shield_enabled",
"global_only": true
}
}
},
"material": {
"settings": {
"material_standby_temperature": {
"label": "Standby Temperature",
"description": "The temperature of the nozzle when another nozzle is currently used for printing.",
"unit": "°C",
"type": "float",
"default": 150,
"min_value": "0",
"max_value_warning": "260",
"global_only": "True",
"visible": false
},
"switch_extruder_retraction_amount": {
"label": "Nozzle Switch Retraction Distance",
"description": "The amount of retraction: Set at 0 for no retraction at all. This should generally be the same as the length of the heat zone.",
"unit": "mm",
"type": "float",
"default": 20,
"min_value_warning": "0",
"max_value_warning": "100",
"visible": false,
"inherit_function": "machine_heat_zone_length",
"enabled": "retraction_enable",
"global_only": true
},
"switch_extruder_retraction_speeds": {
"label": "Nozzle Switch Retraction Speed",
"description": "The speed at which the filament is retracted. A higher retraction speed works better, but a very high retraction speed can lead to filament grinding.",
"unit": "mm/s",
"type": "float",
"default": 20,
"min_value": "0.1",
"max_value_warning": "300",
"visible": false,
"inherit": false,
"enabled": "retraction_enable",
"global_only": true,
"children": {
"switch_extruder_retraction_speed": {
"label": "Nozzle Switch Retract Speed",
"description": "The speed at which the filament is retracted during a nozzle switch retract. ",
"unit": "mm/s",
"type": "float",
"default": 20,
"min_value": "0.1",
"max_value_warning": "300",
"visible": false,
"enabled": "retraction_enable",
"global_only": true
},
"switch_extruder_prime_speed": {
"label": "Nozzle Switch Prime Speed",
"description": "The speed at which the filament is pushed back after a nozzle switch retraction.",
"unit": "mm/s",
"type": "float",
"default": 20,
"min_value": "0.1",
"max_value_warning": "300",
"visible": false,
"enabled": "retraction_enable",
"global_only": true
}
}
},
"switch_extruder_retraction_hop": {
"label": "Nozzle Switch Z Hop",
"description": "Whenever the machine switches to another nozzle, the build plate is lowered to create clearance between the nozzle and the print. It prevents the nozzle which has been unused for a while from oozing material on the outside of the print.",
"unit": "mm",
"type": "float",
"default": 1.0,
"min_value_warning": "-0.0001",
"max_value_warning": "10",
"visible": false,
"inherit": false,
"enabled": "retraction_enable"
}
}
}
}
}

View file

@ -121,15 +121,6 @@
"default": [],
"global_only": true
},
"machine_platform_offset": {
"description": "Where to display the platform mesh.",
"default": [
0,
0,
0
],
"global_only": true
},
"machine_head_polygon": {
"description": "A 2D silhouette of the print head (fan caps excluded).",
"type": "polygon",

View file

@ -1,37 +0,0 @@
{
"id": "grr_neo",
"version": 1,
"name": "German RepRap Neo",
"manufacturer": "Other",
"author": "Other",
"icon": "icon_ultimaker.png",
"platform": "grr_neo_platform.stl",
"file_formats": "text/x-gcode",
"inherits": "fdmprinter.json",
"visible": "true",
"overrides": {
"machine_width": { "default": 150 },
"machine_height": { "default": 150 },
"machine_depth": { "default": 150 },
"machine_center_is_zero": { "default": false },
"machine_nozzle_size": { "default": 0.5 },
"machine_nozzle_heat_up_speed": { "default": 2.0 },
"machine_nozzle_cool_down_speed": { "default": 2.0 },
"machine_head_shape_min_x": { "default": 75 },
"machine_head_shape_min_y": { "default": 18 },
"machine_head_shape_max_x": { "default": 18 },
"machine_head_shape_max_y": { "default": 35 },
"machine_nozzle_gantry_distance": { "default": 55 },
"machine_gcode_flavor": { "default": "RepRap (Marlin/Sprinter)" },
"machine_start_gcode": {
"default": "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": "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"
},
"material_bed_temperature": { "visible": false }
}
}

View file

@ -1,44 +0,0 @@
{
"id": "innovo-inventor",
"version": 1,
"name": "Innovo INVENTOR",
"manufacturer": "Other",
"author": "AR",
"platform": "inventor_platform.stl",
"file_formats": "text/x-gcode",
"inherits": "fdmprinter.json",
"machine_settings": {
"machine_width": {"default": 340},
"machine_height": {"default": 290},
"machine_depth": {"default": 300},
"machine_heated_bed": { "default": true},
"machine_center_is_zero": {"default": false},
"machine_nozzle_size": {"default": 0.4},
"machine_head_shape_min_x": {"default": 43.7},
"machine_head_shape_min_y": {"default": 19.2},
"machine_head_shape_max_x": {"default": 43.7},
"machine_head_shape_max_y": {"default": 55},
"machine_nozzle_gantry_distance": {"default": 82.3},
"machine_nozzle_offset_x_1": {"default": 0},
"machine_nozzle_offset_y_1": {"default": 15},
"machine_gcode_flavor": {"default": "RepRap (Marlin/Sprinter)"},
"machine_start_gcode": {"default": "G28 ; Home extruder\nM107 ; Turn off fan\nG90 ; Absolute positioning\nM82 ; Extruder in absolute mode\n{IF_BED}M190 S{BED}\n{IF_EXT0}M104 T0 S{TEMP0}\n{IF_EXT0}M109 T0 S{TEMP0}\n{IF_EXT1}M104 T1 S{TEMP1}\n{IF_EXT1}M109 T1 S{TEMP1}\nG32 S3 ; auto level\nG92 E0 ; Reset extruder position"},
"machine_end_gcode": {"default": "M104 S0\nG91 ; relative positioning\nG1 E-2 F5000; retract 2mm\nG28 Z; move bed down\nG90 ; absolute positioning\nM84 ; disable motors"},
"machine_platform_offset": {"default": [-180, -0.25, 160]}
},
"overrides": {
"layer_height": { "default": 0.15},
"wall_thickness": { "default": 0.8},
"top_bottom_thickness": { "default": 0.3, "visible": true},
"material_print_temperature": { "default": 215, "visible": true},
"material_bed_temperature": { "default": 60, "visible": true},
"material_diameter": { "default": 1.75, "visible": true},
"speed_print": { "default": 60.0, "visible": true},
"speed_infill": { "default": 100.0, "visible": true },
"speed_topbottom": { "default": 30.0, "visible": true },
"speed_travel": { "default": 150.0, "visible": true },
"speed_layer_0": { "min_value": 0.1, "default": 30.0, "visible": true },
"infill_overlap": { "default": 10.0 }
}
}

View file

@ -1,39 +0,0 @@
{
"id": "m180",
"version": 1,
"name": "Malyan M180",
"manufacturer": "Other",
"icon": "icon_ultimaker.png",
"platform": "",
"file_formats": "application/x3g",
"inherits": "fdmprinter.json",
"machine_settings": {
"machine_width": { "default": 230 },
"machine_height": { "default": 165 },
"machine_depth": { "default": 145 },
"machine_center_is_zero": { "default": true },
"machine_nozzle_size": { "default": 0.4, "min_value": "0.001" },
"machine_head_with_fans_polygon": {
"default": [
[ -75, 35 ],
[ -75, -18 ],
[ 18, -18 ],
[ 18, 35 ]
]
},
"gantry_height": { "default": 55 },
"machine_gcode_flavor": { "default": "RepRap (Marlin/Sprinter)" },
"machine_start_gcode": { "default": "M136\nM73 P0\nM103\nG21\nG90\nM320\n;(**** begin homing ****)\nG162 X Y F4000\nG161 Z F3500\nG92 Z-5\nG1 Z0.0\nG161 Z F100\nM132 X Y Z A B\n;(**** end homing ****)\nG92 X147 Y66 Z5\nG1 X105 Y-60 Z10 F4000.0\nG130 X127 Y127 A127 B127\nG0 X105 Y-60\nG1 Z0.3 F300\nG92 E0\nG1 X100 E10 F300\nG92 E0\nG1 Z0.0 F300\nM320" },
"machine_end_gcode": { "default": "G92 Z0\nG1 Z10 F400\nM18\nM109 S0 T0\nM104 S0 T0\nM73 P100 (end build progress)\nG162 X Y F3000\nM18" }
},
"overrides": {
"material_bed_temperature": { "visible": "True" },
"material_diameter": {
"default": 1.75,
"min_value_warning": "1.5",
"max_value_warning": "2.0"
}
}
}

View file

@ -1,81 +0,0 @@
{
"id": "maker_starter",
"version": 1,
"name": "3DMaker Starter",
"manufacturer": "Other",
"author": "Other",
"icon": "icon_ultimaker2.png",
"platform": "makerstarter_platform.stl",
"file_formats": "text/x-gcode;application/x-stl-ascii;application/x-stl-binary;application/x-wavefront-obj",
"inherits": "fdmprinter.json",
"overrides": {
"machine_width": { "default": 210 },
"machine_depth": { "default": 185 },
"machine_height": { "default": 200 },
"machine_heated_bed": { "default": false },
"machine_center_is_zero": { "default": false },
"machine_nozzle_size": { "default": 0.4 },
"machine_nozzle_heat_up_speed": { "default": 2.0 },
"machine_nozzle_cool_down_speed": { "default": 2.0 },
"machine_head_shape_min_x": { "default": 0 },
"machine_head_shape_min_y": { "default": 0 },
"machine_head_shape_max_x": { "default": 0 },
"machine_head_shape_max_y": { "default": 0 },
"machine_nozzle_gantry_distance": { "default": 55 },
"machine_gcode_flavor": { "default": "RepRap" },
"machine_disallowed_areas": { "default": []},
"machine_platform_offset": { "default": [0.0, 0.0, 0.0] },
"machine_nozzle_tip_outer_diameter": { "default": 1.0 },
"machine_nozzle_head_distance": { "default": 3.0 },
"machine_nozzle_expansion_angle": { "default": 45 },
"layer_height": { "default": 0.2 },
"layer_height_0": { "default": 0.2, "visible": false },
"wall_line_count": { "default": 2, "visible": true },
"top_layers": { "default": 4, "visible": true },
"bottom_layers": { "default": 4, "visible": true },
"material_print_temperature": { "visible": false },
"material_bed_temperature": { "visible": false },
"material_diameter": { "default": 1.75, "visible": false },
"material_flow": { "visible": false },
"speed_print": { "default": 50.0 },
"speed_wall": { "default": 30.0 },
"speed_wall_0": { "default": 30.0 },
"speed_wall_x": { "default": 30.0 },
"speed_topbottom": { "default": 50.0 },
"speed_support": { "default": 50.0 },
"speed_travel": { "default": 120.0 },
"speed_layer_0": { "default": 20.0 },
"skirt_speed": { "default": 15.0 },
"speed_slowdown_layers": { "default": 4 },
"infill_sparse_density": { "default": 20.0 },
"cool_fan_speed_min": { "default": 50.0 },
"cool_fan_speed_max": { "default": 100.0 },
"cool_fan_full_layer": { "default": 4, "visible": true },
"cool_min_layer_time": { "default": 5.0 },
"cool_min_layer_time_fan_speed_max": { "default": 10.0 },
"support_type": { "default": "Everywhere" },
"support_angle": { "default": 45.0, "visible": true },
"support_xy_distance": { "default": 1 },
"support_z_distance": { "default": 0.2 },
"support_top_distance": { "default": 0.2 },
"support_bottom_distance": { "default": 0.24 },
"support_pattern": { "default": "ZigZag" },
"support_infill_rate": { "default": 15, "visible": true },
"adhesion_type": { "default": "Raft" },
"skirt_minimal_length": { "default": 100.0 },
"raft_base_line_spacing": { "default": 2.0 },
"raft_base_thickness": { "default": 0.3 },
"raft_base_line_width": { "default": 2.0 },
"raft_base_speed": { "default": 15.0 },
"raft_interface_thickness": { "default": 0.24 },
"raft_interface_line_width": { "default": 0.6 },
"raft_airgap": { "default": 0.2 },
"raft_surface_layers": { "default": 2 }
}
}

View file

@ -1,36 +0,0 @@
{
"id": "prusa_i3",
"version": 1,
"name": "Prusa i3",
"manufacturer": "Other",
"author": "Other",
"icon": "icon_ultimaker2.png",
"platform": "prusai3_platform.stl",
"file_formats": "text/x-gcode",
"inherits": "fdmprinter.json",
"overrides": {
"machine_heated_bed": { "default": true },
"machine_width": { "default": 200 },
"machine_height": { "default": 200 },
"machine_depth": { "default": 200 },
"machine_center_is_zero": { "default": false },
"machine_nozzle_size": { "default": 0.4 },
"material_diameter": { "default": 1.75 },
"machine_nozzle_heat_up_speed": { "default": 2.0 },
"machine_nozzle_cool_down_speed": { "default": 2.0 },
"machine_head_shape_min_x": { "default": 75 },
"machine_head_shape_min_y": { "default": 18 },
"machine_head_shape_max_x": { "default": 18 },
"machine_head_shape_max_y": { "default": 35 },
"machine_nozzle_gantry_distance": { "default": 55 },
"machine_gcode_flavor": { "default": "RepRap (Marlin/Sprinter)" },
"machine_start_gcode": {
"default": "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": "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"
}
}
}

View file

@ -1,36 +0,0 @@
{
"id": "prusa_i3_xl",
"version": 1,
"name": "Prusa i3 xl",
"manufacturer": "Other",
"author": "Other",
"icon": "icon_ultimaker2.png",
"platform": "prusai3_xl_platform.stl",
"file_formats": "text/x-gcode",
"inherits": "fdmprinter.json",
"overrides": {
"machine_heated_bed": { "default": true },
"machine_width": { "default": 200 },
"machine_height": { "default": 200 },
"machine_depth": { "default": 270 },
"machine_center_is_zero": { "default": false },
"machine_nozzle_size": { "default": 0.4 },
"material_diameter": { "default": 1.75 },
"machine_nozzle_heat_up_speed": { "default": 2.0 },
"machine_nozzle_cool_down_speed": { "default": 2.0 },
"machine_head_shape_min_x": { "default": 75 },
"machine_head_shape_min_y": { "default": 18 },
"machine_head_shape_max_x": { "default": 18 },
"machine_head_shape_max_y": { "default": 35 },
"machine_nozzle_gantry_distance": { "default": 55 },
"machine_gcode_flavor": { "default": "RepRap (Marlin/Sprinter)" },
"machine_start_gcode": {
"default": "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": "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"
}
}
}

View file

@ -1,15 +0,0 @@
{
"id": "ultimaker_base",
"version": 1,
"visible": false,
"name": "Ultimaker",
"manufacturer": "Ultimaker",
"author": "Ultimaker",
"inherits": "fdmprinter.json",
"machine_preferences": {
"prefered_profile": "Normal Quality",
"prefered_variant": "0.4 mm",
"prefered_material": "PLA"
}
}

View file

@ -1,95 +0,0 @@
{
"id": "ultimaker2",
"version": 1,
"name": "Ultimaker 2",
"manufacturer": "Ultimaker",
"author": "Ultimaker",
"icon": "icon_ultimaker2.png",
"platform": "ultimaker2_platform.obj",
"platform_texture": "Ultimaker2backplate.png",
"file_formats": "text/x-gcode",
"inherits": "ultimaker.json",
"machine_extruder_trains": {
"0": {
"machine_nozzle_heat_up_speed": {
"default": 2.0
},
"machine_nozzle_cool_down_speed": {
"default": 2.0
},
"machine_nozzle_tip_outer_diameter": {
"default": 1
},
"machine_nozzle_head_distance": {
"default": 3
},
"machine_nozzle_expansion_angle": {
"default": 45
},
"machine_heat_zone_length": {
"default": 16
}
}
},
"machine_settings": {
"machine_start_gcode" : { "default": "" },
"machine_end_gcode" : { "default": "" },
"machine_width": { "default": 223 },
"machine_depth": { "default": 223 },
"machine_height": { "default": 205 },
"machine_heated_bed": { "default": true },
"machine_head_with_fans_polygon":
{
"default": [
[
-42,
12
],
[
-42,
-32
],
[
62,
12
],
[
62,
-32
]
]
},
"machine_center_is_zero": { "default": false },
"machine_nozzle_size": { "default": 0.4, "min_value": "0.001"},
"machine_nozzle_heat_up_speed": { "default": 2.0 },
"machine_nozzle_cool_down_speed": { "default": 2.0 },
"gantry_height": { "default": 55 },
"machine_use_extruder_offset_to_offset_coords": { "default": true },
"machine_gcode_flavor": { "default": "UltiGCode" },
"machine_disallowed_areas": { "default": [
[[-115.0, 112.5], [ -82.0, 112.5], [ -84.0, 102.5], [-115.0, 102.5]],
[[ 115.0, 112.5], [ 115.0, 102.5], [ 110.0, 102.5], [ 108.0, 112.5]],
[[-115.0, -112.5], [-115.0, -104.5], [ -84.0, -104.5], [ -82.0, -112.5]],
[[ 115.0, -112.5], [ 108.0, -112.5], [ 110.0, -104.5], [ 115.0, -104.5]]
]},
"machine_platform_offset": { "default": [9.0, 0.0, 0.0] },
"machine_nozzle_tip_outer_diameter": { "default": 1.0 },
"machine_nozzle_head_distance": { "default": 3.0 },
"machine_nozzle_expansion_angle": { "default": 45 }
},
"overrides": {
"material_print_temperature": { "enabled": "False" },
"material_bed_temperature": { "enabled": "False" },
"material_diameter": { "enabled": "False" },
"material_flow": { "enabled": "False" },
"retraction_amount": { "enabled": "False" },
"retraction_speed": { "enabled": "False" },
"retraction_retract_speed": { "enabled": "False" },
"retraction_prime_speed": { "enabled": "False" }
}
}

View file

@ -1,16 +0,0 @@
{
"id": "ultimaker2_extended",
"version": 1,
"name": "Ultimaker 2 Extended",
"manufacturer": "Ultimaker",
"author": "Ultimaker",
"icon": "icon_ultimaker2.png",
"platform": "ultimaker2_platform.obj",
"platform_texture": "Ultimaker2Extendedbackplate.png",
"file_formats": "text/x-gcode",
"inherits": "ultimaker2.json",
"machine_settings": {
"machine_height": { "default": 315 }
}
}

View file

@ -1,19 +0,0 @@
{
"id": "ultimaker2_extended_plus_base",
"version": 1,
"name": "Ultimaker 2 Extended+",
"manufacturer": "Ultimaker",
"author": "Ultimaker",
"platform": "ultimaker2_platform.obj",
"platform_texture": "Ultimaker2ExtendedPlusbackplate.png",
"visible": false,
"file_formats": "text/x-gcode",
"inherits": "ultimaker2plus.json",
"machine_settings": {
"machine_height": { "default": 305},
"machine_show_variants": { "default": true },
"machine_nozzle_head_distance": { "default": 5 },
"machine_nozzle_expansion_angle": { "default": 45 }
}
}

View file

@ -1,17 +0,0 @@
{
"id": "ultimaker2_extended_plus",
"version": 1,
"name": "Ultimaker 2 Extended+",
"manufacturer": "Ultimaker",
"author": "Ultimaker",
"platform": "ultimaker2_platform.obj",
"platform_texture": "Ultimaker2ExtendedPlusbackplate.png",
"file_formats": "text/x-gcode",
"inherits": "ultimaker2_extended_plus.json",
"variant": "0.25 mm",
"profiles_machine": "ultimaker2plus",
"machine_settings": {
"machine_nozzle_size": { "default": 0.25 },
"machine_nozzle_tip_outer_diameter": { "default": 0.8 }
}
}

View file

@ -1,17 +0,0 @@
{
"id": "ultimaker2_extended_plus",
"version": 1,
"name": "Ultimaker 2 Extended+",
"manufacturer": "Ultimaker",
"author": "Ultimaker",
"platform": "ultimaker2_platform.obj",
"platform_texture": "Ultimaker2ExtendedPlusbackplate.png",
"file_formats": "text/x-gcode",
"inherits": "ultimaker2_extended_plus.json",
"variant": "0.4 mm",
"profiles_machine": "ultimaker2plus",
"machine_settings": {
"machine_nozzle_size": { "default": 0.40 },
"machine_nozzle_tip_outer_diameter": { "default": 1.05 }
}
}

View file

@ -1,17 +0,0 @@
{
"id": "ultimaker2_extended_plus",
"version": 1,
"name": "Ultimaker 2 Extended+",
"manufacturer": "Ultimaker",
"author": "Ultimaker",
"platform": "ultimaker2_platform.obj",
"platform_texture": "Ultimaker2ExtendedPlusbackplate.png",
"file_formats": "text/x-gcode",
"inherits": "ultimaker2_extended_plus.json",
"variant": "0.6 mm",
"profiles_machine": "ultimaker2plus",
"machine_settings": {
"machine_nozzle_size": { "default": 0.60 },
"machine_nozzle_tip_outer_diameter": { "default": 1.25 }
}
}

View file

@ -1,17 +0,0 @@
{
"id": "ultimaker2_extended_plus",
"version": 1,
"name": "Ultimaker 2 Extended+",
"manufacturer": "Ultimaker",
"author": "Ultimaker",
"platform": "ultimaker2_platform.obj",
"platform_texture": "Ultimaker2ExtendedPlusbackplate.png",
"file_formats": "text/x-gcode",
"inherits": "ultimaker2_extended_plus.json",
"variant": "0.8 mm",
"profiles_machine": "ultimaker2plus",
"machine_settings": {
"machine_nozzle_size": { "default": 0.80 },
"machine_nozzle_tip_outer_diameter": { "default": 1.35 }
}
}

View file

@ -1,26 +0,0 @@
{
"id": "ultimaker2_go",
"version": 1,
"name": "Ultimaker 2 Go",
"manufacturer": "Ultimaker",
"author": "Ultimaker",
"icon": "icon_ultimaker2.png",
"platform": "ultimaker2go_platform.obj",
"platform_texture": "Ultimaker2Gobackplate.png",
"file_formats": "text/x-gcode",
"inherits": "ultimaker2.json",
"overrides": {
"machine_width": { "default": 120 },
"machine_depth": { "default": 120 },
"machine_height": { "default": 115 },
"machine_heated_bed": { "default": false },
"machine_disallowed_areas": { "default": [
[[-60.0, 60.0], [-33.0, 60.0], [-35.0, 52.0], [-60.0, 52.0]],
[[ 60.0, 60.0], [ 60.0, 52.0], [ 35.0, 52.0], [ 33.0, 60.0]],
[[-60.0, -60.0], [-60.0, -52.0], [-35.0, -52.0], [-33.0, -60.0]],
[[ 60.0, -60.0], [ 33.0, -60.0], [ 35.0, -52.0], [ 60.0, -52.0]]
]},
"machine_platform_offset": { "default": [0.0, 0.0, 0.0] }
}
}

View file

@ -1,53 +0,0 @@
{
"id": "ultimaker2plus_base",
"version": 1,
"name": "Ultimaker 2+",
"manufacturer": "Ultimaker",
"author": "Ultimaker",
"platform": "ultimaker2_platform.obj",
"platform_texture": "Ultimaker2Plusbackplate.png",
"visible": false,
"file_formats": "text/x-gcode",
"inherits": "ultimaker2.json",
"overrides": {
"speed_infill": { "inherit_function": "speed_print" },
"speed_wall_x": { "inherit_function": "speed_wall" },
"layer_height_0": { "inherit_function": "round(machine_nozzle_size / 1.5, 2)" },
"line_width": { "inherit_function": "round(machine_nozzle_size * 0.875, 2)" },
"speed_layer_0": { "default": "20" },
"speed_support": { "inherit_function": "speed_wall_0" },
"machine_show_variants": { "default": true },
"gantry_height": { "default": 52 },
"machine_nozzle_head_distance": { "default": 5 },
"machine_nozzle_expansion_angle": { "default": 45 },
"machine_heat_zone_length": { "default": 20 },
"machine_head_with_fans_polygon":
{
"default": [
[
-44,
14
],
[
-44,
-34
],
[
64,
14
],
[
64,
-34
]
]
},
"machine_disallowed_areas": { "default": [
[[-115.0, 112.5], [ -78.0, 112.5], [ -80.0, 102.5], [-115.0, 102.5]],
[[ 115.0, 112.5], [ 115.0, 102.5], [ 105.0, 102.5], [ 103.0, 112.5]],
[[-115.0, -112.5], [-115.0, -104.5], [ -84.0, -104.5], [ -82.0, -112.5]],
[[ 115.0, -112.5], [ 108.0, -112.5], [ 110.0, -104.5], [ 115.0, -104.5]]
]}
}
}

View file

@ -1,23 +0,0 @@
{
"id": "ultimaker2plus",
"version": 1,
"name": "Ultimaker 2+",
"manufacturer": "Ultimaker",
"author": "Ultimaker",
"platform": "ultimaker2_platform.obj",
"platform_texture": "Ultimaker2Plusbackplate.png",
"file_formats": "text/x-gcode",
"inherits": "ultimaker2plus.json",
"variant": "0.25 mm",
"overrides": {
"speed_wall": { "inherit_function": "round(speed_print / 1.2, 1)" },
"speed_wall_0": { "inherit_function": "1 if speed_wall < 5 else (speed_wall - 5)" },
"speed_topbottom": { "inherit_function": "round(speed_print / 1.5, 1)" },
"machine_nozzle_size": { "default": 0.25 },
"machine_nozzle_tip_outer_diameter": { "default": 0.8 },
"coasting_volume": { "default": 0.1 },
"coasting_min_volume": { "default": 0.17 }
}
}

View file

@ -1,21 +0,0 @@
{
"id": "ultimaker2plus",
"version": 1,
"name": "Ultimaker 2+",
"manufacturer": "Ultimaker",
"author": "Ultimaker",
"platform": "ultimaker2_platform.obj",
"platform_texture": "Ultimaker2Plusbackplate.png",
"file_formats": "text/x-gcode",
"inherits": "ultimaker2plus.json",
"variant": "0.4 mm",
"overrides": {
"speed_wall": { "inherit_function": "round(speed_print / 1.25, 1)" },
"speed_wall_0": { "inherit_function": "1 if speed_wall < 10 else (speed_wall - 10)" },
"speed_topbottom": { "inherit_function": "round(speed_print / 2.25, 1)" },
"machine_nozzle_size": { "default": 0.40 },
"machine_nozzle_tip_outer_diameter": { "default": 1.05 }
}
}

View file

@ -1,22 +0,0 @@
{
"id": "ultimaker2plus",
"version": 1,
"name": "Ultimaker 2+",
"manufacturer": "Ultimaker",
"author": "Ultimaker",
"platform": "ultimaker2_platform.obj",
"platform_texture": "Ultimaker2Plusbackplate.png",
"file_formats": "text/x-gcode",
"inherits": "ultimaker2plus.json",
"variant": "0.6 mm",
"overrides": {
"speed_wall": { "inherit_function": "round(speed_print / 1.333333, 1)" },
"speed_wall_0": { "inherit_function": "1 if speed_wall < 10 else (speed_wall - 10)" },
"speed_topbottom": { "inherit_function": "round(speed_print / 2, 1)" },
"machine_nozzle_size": { "default": 0.60 },
"machine_nozzle_tip_outer_diameter": { "default": 1.25 },
"coasting_volume": { "default": 1.36 }
}
}

View file

@ -1,22 +0,0 @@
{
"id": "ultimaker2plus",
"version": 1,
"name": "Ultimaker 2+",
"manufacturer": "Ultimaker",
"author": "Ultimaker",
"platform": "ultimaker2_platform.obj",
"platform_texture": "Ultimaker2Plusbackplate.png",
"file_formats": "text/x-gcode",
"inherits": "ultimaker2plus.json",
"variant": "0.8 mm",
"overrides": {
"speed_wall": { "inherit_function": "round(speed_print / 1.333333, 1)" },
"speed_wall_0": { "inherit_function": "1 if speed_wall < 10 else (speed_wall - 10)" },
"speed_topbottom": { "inherit_function": "round(speed_print / 2, 1)" },
"machine_nozzle_size": { "default": 0.80 },
"machine_nozzle_tip_outer_diameter": { "default": 1.35 },
"coasting_volume": { "default": 3.22 }
}
}

View file

@ -1,83 +0,0 @@
{
"id": "ultimaker_original",
"version": 1,
"name": "Ultimaker Original",
"manufacturer": "Ultimaker",
"author": "Ultimaker",
"icon": "icon_ultimaker.png",
"platform": "ultimaker_platform.stl",
"file_formats": "text/x-gcode",
"inherits": "ultimaker.json",
"pages": [
"SelectUpgradedParts",
"UpgradeFirmware",
"UltimakerCheckup",
"BedLeveling"
],
"machine_extruder_trains": {
"0": {
"machine_nozzle_heat_up_speed": {
"default": 2.0
},
"machine_nozzle_cool_down_speed": {
"default": 2.0
},
"machine_nozzle_tip_outer_diameter": {
"default": 1
},
"machine_nozzle_head_distance": {
"default": 3
},
"machine_nozzle_expansion_angle": {
"default": 45
},
"machine_heat_zone_length": {
"default": 16
}
}
},
"overrides": {
"machine_width": { "default": 205 },
"machine_height": { "default": 200 },
"machine_depth": { "default": 205 },
"machine_center_is_zero": { "default": false },
"machine_nozzle_size": { "default": 0.4 },
"machine_nozzle_heat_up_speed": { "default": 2.0 },
"machine_nozzle_cool_down_speed": { "default": 2.0 },
"machine_head_with_fans_polygon":
{
"default": [
[
-75,
35
],
[
-75,
-18
],
[
18,
35
],
[
18,
-18
]
]
},
"gantry_height": { "default": 55 },
"machine_use_extruder_offset_to_offset_coords": { "default": true },
"machine_gcode_flavor": { "default": "RepRap (Marlin/Sprinter)" },
"machine_start_gcode": {
"default": "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": "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"
},
"machine_extruder_drive_upgrade": { "default": false }
}
}

View file

@ -1,22 +0,0 @@
{
"id": "ultimaker_original_plus",
"version": 1,
"name": "Ultimaker Original+",
"manufacturer": "Ultimaker",
"author": "Ultimaker",
"icon": "icon_ultimaker.png",
"platform": "ultimaker2_platform.obj",
"platform_texture": "UltimakerPlusbackplate.png",
"file_formats": "text/x-gcode",
"inherits": "ultimaker_original.json",
"pages": [
"UpgradeFirmware",
"UltimakerCheckup",
"BedLeveling"
],
"overrides": {
"machine_heated_bed": { "default": true }
}
}

View file

@ -1,31 +0,0 @@
{
"id": "uniqbot_one",
"version": 1,
"name": "Uniqbot",
"manufacturer": "Other",
"author": "Unimatech",
"icon": "icon_ultimaker2.png",
"file_formats": "text/x-gcode",
"inherits": "fdmprinter.json",
"overrides": {
"machine_heated_bed": { "default": false },
"machine_width": { "default": 140 },
"machine_height": { "default": 120 },
"machine_depth": { "default": 160 },
"machine_center_is_zero": { "default": false },
"machine_nozzle_size": { "default": 0.5 },
"material_diameter": { "default": 1.75 },
"machine_nozzle_heat_up_speed": { "default": 2.0 },
"machine_nozzle_cool_down_speed": { "default": 2.0 },
"machine_nozzle_gantry_distance": { "default": 55 },
"machine_gcode_flavor": { "default": "RepRap (Marlin/Sprinter)" },
"machine_start_gcode": {
"default": "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": "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+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"
}
}
}

View file

@ -0,0 +1,12 @@
[general]
version = 2
name = ABS
definition = fdmprinter
[metadata]
type = material
[values]
material_print_temperature = 250
material_bed_temperature = 80
material_flow = 107

View file

@ -0,0 +1,11 @@
[general]
version = 2
name = CPE
definition = fdmprinter
[metadata]
type = material
[values]
material_print_temperature = 250
material_bed_temperature = 70

View file

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Generic PLA profile. Serves as an example file, data in this file is not correct.
-->
<fdmmaterial xmlns="http://www.ultimaker.com/material">
<metadata>
<name>
<brand>Generic</brand>
<material>PLA</material>
<color>Generic</color>
</name>
<GUID>506c9f0d-e3aa-4bd4-b2d2-23e2425b1aa9</GUID>
<version>0</version>
<color_code>#FFFFFF</color_code>
</metadata>
<properties>
<density>1.3</density>
<diameter>2.85</diameter>
</properties>
<settings>
<setting key="print temperature">210</setting>
<setting key="heated bed temperature">60</setting>
<setting key="standby temperature">175</setting>
<machine>
<machine_identifier manufacturer="Ultimaker" product="Ultimaker2+"/>
<machine_identifier manufacturer="Ultimaker" product="Ultimaker2extended+"/>
<setting key="standby temperature">150</setting>
<setting key="processing temperature graph">
<point flow="2" temperature="180"/>
<point flow="10" temperature="230"/>
</setting>
</machine>
<machine>
<machine_identifier manufacturer="Ultimaker" product="Ultimaker Original"/>
<machine_identifier manufacturer="Ultimaker" product="Ultimaker Original+"/>
<setting key="standby temperature">150</setting>
<hotend id="0.8mm">
<setting key="standby temperature">80</setting>
</hotend>
<hotend id="0.6mm">
<setting key="standby temperature">100</setting>
</hotend>
</machine>
</settings>
</fdmmaterial>

View file

@ -0,0 +1,10 @@
[general]
version = 2
name = PLA
definition = fdmprinter
[metadata]
type = material
[values]
material_bed_temperature = 60

View file

@ -1,6 +1,8 @@
// Copyright (c) 2015 Ultimaker B.V.
// Cura is released under the terms of the AGPLv3 or higher.
pragma Singleton
import QtQuick 2.2
import QtQuick.Controls 1.1
import UM 1.1 as UM
@ -45,6 +47,8 @@ Item
property alias toggleFullScreen: toggleFullScreenAction;
property alias configureSettingVisibility: configureSettingVisibilityAction
UM.I18nCatalog{id: catalog; name:"cura"}
Action
@ -60,6 +64,8 @@ Item
text: catalog.i18nc("@action:inmenu menubar:edit","&Undo");
iconName: "edit-undo";
shortcut: StandardKey.Undo;
onTriggered: UM.OperationStack.undo();
enabled: UM.OperationStack.canUndo;
}
Action
@ -68,6 +74,8 @@ Item
text: catalog.i18nc("@action:inmenu menubar:edit","&Redo");
iconName: "edit-redo";
shortcut: StandardKey.Redo;
onTriggered: UM.OperationStack.redo();
enabled: UM.OperationStack.canRedo;
}
Action
@ -103,6 +111,7 @@ Item
id: updateProfileAction;
enabled: UM.ActiveProfile.valid && !UM.ActiveProfile.readOnly && UM.ActiveProfile.hasCustomisedValues
text: catalog.i18nc("@action:inmenu menubar:profile","&Update Current Profile");
onTriggered: UM.ActiveProfile.updateProfile();
}
Action
@ -110,6 +119,7 @@ Item
id: resetProfileAction;
enabled: UM.ActiveProfile.valid && UM.ActiveProfile.hasCustomisedValues
text: catalog.i18nc("@action:inmenu menubar:profile","&Reload Current Profile");
onTriggered: UM.ActiveProfile.discardChanges();
}
Action
@ -132,12 +142,14 @@ Item
text: catalog.i18nc("@action:inmenu menubar:help","Show Online &Documentation");
iconName: "help-contents";
shortcut: StandardKey.Help;
onTriggered: CuraActions.openDocumentation();
}
Action {
id: reportBugAction;
text: catalog.i18nc("@action:inmenu menubar:help","Report a &Bug");
iconName: "tools-report-bug";
onTriggered: CuraActions.openBugReportPage();
}
Action
@ -154,6 +166,7 @@ Item
enabled: UM.Controller.toolsEnabled;
iconName: "edit-delete";
shortcut: StandardKey.Delete;
onTriggered: Printer.deleteSelection();
}
Action
@ -177,6 +190,7 @@ Item
enabled: UM.Scene.numObjectsSelected > 1 ? true: false
iconName: "object-group"
shortcut: "Ctrl+G";
onTriggered: Printer.groupSelected();
}
Action
@ -186,6 +200,7 @@ Item
enabled: UM.Scene.isGroupSelected
iconName: "object-ungroup"
shortcut: "Ctrl+Shift+G";
onTriggered: Printer.ungroupSelected();
}
Action
@ -195,6 +210,7 @@ Item
enabled: UM.Scene.numObjectsSelected > 1 ? true: false
iconName: "merge";
shortcut: "Ctrl+Alt+G";
onTriggered: Printer.mergeSelected();
}
Action
@ -211,6 +227,7 @@ Item
enabled: UM.Controller.toolsEnabled;
iconName: "edit-delete";
shortcut: "Ctrl+D";
onTriggered: Printer.deleteAll();
}
Action
@ -218,18 +235,21 @@ Item
id: reloadAllAction;
text: catalog.i18nc("@action:inmenu menubar:file","Re&load All Objects");
iconName: "document-revert";
onTriggered: Printer.reloadAll();
}
Action
{
id: resetAllTranslationAction;
text: catalog.i18nc("@action:inmenu menubar:edit","Reset All Object Positions");
onTriggered: Printer.resetAllTranslation();
}
Action
{
id: resetAllAction;
text: catalog.i18nc("@action:inmenu menubar:edit","Reset All Object &Transformations");
onTriggered: Printer.resetAll();
}
Action
@ -247,4 +267,10 @@ Item
iconName: "view-list-text";
shortcut: StandardKey.WhatsThis;
}
Action
{
id: configureSettingVisibilityAction
text: catalog.i18nc("@action:menu", "Configure setting visiblity...");
}
}

View file

@ -0,0 +1,178 @@
// Copyright (c) 2016 Ultimaker B.V.
// Cura is released under the terms of the AGPLv3 or higher.
import QtQuick 2.2
import QtQuick.Controls 1.1
import QtQuick.Layouts 1.1
import QtQuick.Window 2.1
import QtQuick.Controls.Styles 1.1
import UM 1.2 as UM
import Cura 1.0 as Cura
UM.Dialog
{
id: base
title: catalog.i18nc("@title:window", "Add Printer")
property string activeManufacturer: "Ultimaker";
function getMachineName()
{
var name = machineList.model.getItem(machineList.currentIndex).name
return name
}
ScrollView
{
id: machinesHolder
anchors
{
left: parent.left;
top: parent.top;
right: parent.right;
bottom: parent.bottom;
}
ListView
{
id: machineList
model: UM.DefinitionContainersModel
{
id: machineDefinitionsModel
filter: {"visible":true}
}
section.property: "manufacturer"
section.delegate: Button
{
text: section
style: ButtonStyle
{
background: Rectangle
{
border.width: 0
color: "transparent";
height: UM.Theme.getSize("standard_list_lineheight").height
width: machineList.width
}
label: Label
{
anchors.left: parent.left
anchors.leftMargin: UM.Theme.getSize("standard_arrow").width + UM.Theme.getSize("default_margin").width
text: control.text
color: palette.windowText
font.bold: true
UM.RecolorImage
{
id: downArrow
anchors.verticalCenter: parent.verticalCenter
anchors.right: parent.left
anchors.rightMargin: UM.Theme.getSize("default_margin").width
width: UM.Theme.getSize("standard_arrow").width
height: UM.Theme.getSize("standard_arrow").height
sourceSize.width: width
sourceSize.height: width
color: palette.windowText
source: base.activeManufacturer == section ? UM.Theme.getIcon("arrow_bottom") : UM.Theme.getIcon("arrow_right")
}
}
}
onClicked:
{
base.activeManufacturer = section;
machineList.currentIndex = machineList.model.find("manufacturer", section)
machineName.text = getMachineName()
}
}
delegate: RadioButton
{
id: machineButton
anchors.left: parent.left
anchors.leftMargin: UM.Theme.getSize("standard_list_lineheight").width
opacity: 1;
height: UM.Theme.getSize("standard_list_lineheight").height;
checked: ListView.isCurrentItem;
exclusiveGroup: printerGroup;
text: model.name
onClicked:
{
ListView.view.currentIndex = index;
machineName.text = getMachineName()
}
states: State
{
name: "collapsed";
when: base.activeManufacturer != model.manufacturer;
PropertyChanges { target: machineButton; opacity: 0; height: 0; }
}
transitions:
[
Transition
{
to: "collapsed";
SequentialAnimation
{
NumberAnimation { property: "opacity"; duration: 75; }
NumberAnimation { property: "height"; duration: 75; }
}
},
Transition
{
from: "collapsed";
SequentialAnimation
{
NumberAnimation { property: "height"; duration: 75; }
NumberAnimation { property: "opacity"; duration: 75; }
}
}
]
}
}
}
TextField
{
id: machineName;
text: getMachineName()
implicitWidth: UM.Theme.getSize("standard_list_input").width
maximumLength: 40
anchors.bottom:parent.bottom
}
Button
{
text:"save"
anchors.bottom: parent.bottom
anchors.right: parent.right
onClicked:
{
base.visible = false
var item = machineList.model.getItem(machineList.currentIndex);
Cura.MachineManager.addMachine(machineName.text, item.id)
}
}
Item
{
UM.I18nCatalog
{
id: catalog;
name: "cura";
}
SystemPalette { id: palette }
ExclusiveGroup { id: printerGroup; }
}
}

View file

@ -7,7 +7,10 @@ import QtQuick.Controls.Styles 1.1
import QtQuick.Layouts 1.1
import QtQuick.Dialogs 1.1
import UM 1.1 as UM
import UM 1.2 as UM
import Cura 1.0 as Cura
import "."
UM.MainWindow
{
@ -53,7 +56,7 @@ UM.MainWindow
title: catalog.i18nc("@title:menu menubar:toplevel","&File");
MenuItem {
action: actions.open;
action: Actions.open;
}
Menu
@ -115,11 +118,11 @@ UM.MainWindow
}
}
MenuItem { action: actions.reloadAll; }
MenuItem { action: Actions.reloadAll; }
MenuSeparator { }
MenuItem { action: actions.quit; }
MenuItem { action: Actions.quit; }
}
Menu
@ -127,17 +130,17 @@ UM.MainWindow
//: Edit menu
title: catalog.i18nc("@title:menu menubar:toplevel","&Edit");
MenuItem { action: actions.undo; }
MenuItem { action: actions.redo; }
MenuItem { action: Actions.undo; }
MenuItem { action: Actions.redo; }
MenuSeparator { }
MenuItem { action: actions.deleteSelection; }
MenuItem { action: actions.deleteAll; }
MenuItem { action: actions.resetAllTranslation; }
MenuItem { action: actions.resetAll; }
MenuItem { action: Actions.deleteSelection; }
MenuItem { action: Actions.deleteAll; }
MenuItem { action: Actions.resetAllTranslation; }
MenuItem { action: Actions.resetAll; }
MenuSeparator { }
MenuItem { action: actions.groupObjects;}
MenuItem { action: actions.mergeObjects;}
MenuItem { action: actions.unGroupObjects;}
MenuItem { action: Actions.groupObjects;}
MenuItem { action: Actions.mergeObjects;}
MenuItem { action: Actions.unGroupObjects;}
}
Menu
@ -168,14 +171,17 @@ UM.MainWindow
Instantiator
{
model: UM.MachineInstancesModel { }
model: UM.ContainerStacksModel
{
filter: {"type": "machine"}
}
MenuItem
{
text: model.name;
checkable: true;
checked: model.active;
exclusiveGroup: machineMenuGroup;
onTriggered: UM.MachineManager.setActiveMachineInstance(model.name)
checked: Cura.MachineManager.activeMachineId == model.id
exclusiveGroup: machineSelectionMenuGroup;
onTriggered: Cura.MachineManager.setActiveMachine(model.id);
}
onObjectAdded: machineMenu.insertItem(index, object)
onObjectRemoved: machineMenu.removeItem(object)
@ -187,13 +193,20 @@ UM.MainWindow
Instantiator
{
model: UM.MachineVariantsModel { }
model: UM.InstanceContainersModel
{
filter:
{
"type": "variant",
"definition": Cura.MachineManager.activeDefinitionId //Only show variants of this machine
}
}
MenuItem {
text: model.name;
checkable: true;
checked: model.active;
checked: model.id == Cura.MachineManager.activeVariantId;
exclusiveGroup: machineVariantsGroup;
onTriggered: UM.MachineManager.setActiveMachineVariant(model.name)
onTriggered: Cura.MachineManager.setActiveVariant(model.id)
}
onObjectAdded: machineMenu.insertItem(index, object)
onObjectRemoved: machineMenu.removeItem(object)
@ -201,10 +214,10 @@ UM.MainWindow
ExclusiveGroup { id: machineVariantsGroup; }
MenuSeparator { visible: UM.MachineManager.hasVariants; }
MenuSeparator { visible: Cura.MachineManager.hasVariants; }
MenuItem { action: actions.addMachine; }
MenuItem { action: actions.configureMachines; }
MenuItem { action: Actions.addMachine; }
MenuItem { action: Actions.configureMachines; }
}
Menu
@ -215,7 +228,7 @@ UM.MainWindow
Instantiator
{
id: profileMenuInstantiator
model: UM.ProfilesModel {}
// model: UM.ProfilesModel {}
property int separatorIndex: -1
Loader {
@ -277,11 +290,11 @@ UM.MainWindow
MenuSeparator { id: profileMenuSeparator }
MenuItem { action: actions.updateProfile; }
MenuItem { action: actions.resetProfile; }
MenuItem { action: actions.addProfile; }
MenuItem { action: Actions.updateProfile; }
MenuItem { action: Actions.resetProfile; }
MenuItem { action: Actions.addProfile; }
MenuSeparator { }
MenuItem { action: actions.manageProfiles; }
MenuItem { action: Actions.manageProfiles; }
}
Menu
@ -292,7 +305,7 @@ UM.MainWindow
Instantiator
{
model: UM.Models.extensionModel
model: UM.ExtensionModel { }
Menu
{
@ -323,7 +336,7 @@ UM.MainWindow
//: Settings menu
title: catalog.i18nc("@title:menu menubar:toplevel","&Settings");
MenuItem { action: actions.preferences; }
MenuItem { action: Actions.preferences; }
}
Menu
@ -331,11 +344,11 @@ UM.MainWindow
//: Help menu
title: catalog.i18nc("@title:menu menubar:toplevel","&Help");
MenuItem { action: actions.showEngineLog; }
MenuItem { action: actions.documentation; }
MenuItem { action: actions.reportBug; }
MenuItem { action: Actions.showEngineLog; }
MenuItem { action: Actions.documentation; }
MenuItem { action: Actions.reportBug; }
MenuSeparator { }
MenuItem { action: actions.about; }
MenuItem { action: Actions.about; }
}
}
@ -425,7 +438,7 @@ UM.MainWindow
left: parent.left;
//leftMargin: UM.Theme.getSize("loadfile_margin").width
}
action: actions.open;
action: Actions.open;
}
Image
@ -513,22 +526,12 @@ UM.MainWindow
width: UM.Theme.getSize("sidebar").width;
addMachineAction: actions.addMachine;
configureMachinesAction: actions.configureMachines;
addProfileAction: actions.addProfile;
updateProfileAction: actions.updateProfile;
resetProfileAction: actions.resetProfile;
manageProfilesAction: actions.manageProfiles;
configureSettingsAction: Action
{
onTriggered:
{
preferences.visible = true;
preferences.setPage(2);
preferences.getCurrentItem().scrollToSection(source.key);
}
}
addMachineAction: Actions.addMachine;
configureMachinesAction: Actions.configureMachines;
addProfileAction: Actions.addProfile;
updateProfileAction: Actions.updateProfile;
resetProfileAction: Actions.resetProfile;
manageProfilesAction: Actions.manageProfiles;
}
}
}
@ -546,6 +549,12 @@ UM.MainWindow
//: View preferences page title
insertPage(1, catalog.i18nc("@title:tab","View"), Qt.resolvedUrl("ViewPage.qml"));
insertPage(3, catalog.i18nc("@title:tab", "Printers"), Qt.resolvedUrl("MachinesPage.qml"));
insertPage(4, catalog.i18nc("@title:tab", "Materials"), Qt.resolvedUrl("Preferences/MaterialsPage.qml"));
insertPage(5, catalog.i18nc("@title:tab", "Profiles"), Qt.resolvedUrl("Preferences/ProfilesPage.qml"));
//Force refresh
setPage(0);
}
@ -561,73 +570,16 @@ UM.MainWindow
}
}
Actions
Connections
{
id: actions;
target: Actions.preferences
onTriggered: preferences.visible = true
}
open.onTriggered: openDialog.open();
quit.onTriggered: base.visible = false;
undo.onTriggered: UM.OperationStack.undo();
undo.enabled: UM.OperationStack.canUndo;
redo.onTriggered: UM.OperationStack.redo();
redo.enabled: UM.OperationStack.canRedo;
deleteSelection.onTriggered:
{
Printer.deleteSelection();
}
deleteObject.onTriggered:
{
if(objectContextMenu.objectId != 0)
{
Printer.deleteObject(objectContextMenu.objectId);
objectContextMenu.objectId = 0;
}
}
multiplyObject.onTriggered:
{
if(objectContextMenu.objectId != 0)
{
Printer.multiplyObject(objectContextMenu.objectId, 1);
objectContextMenu.objectId = 0;
}
}
centerObject.onTriggered:
{
if(objectContextMenu.objectId != 0)
{
Printer.centerObject(objectContextMenu.objectId);
objectContextMenu.objectId = 0;
}
}
groupObjects.onTriggered:
{
Printer.groupSelected();
}
unGroupObjects.onTriggered:
{
Printer.ungroupSelected();
}
mergeObjects.onTriggered:
{
Printer.mergeSelected();
}
deleteAll.onTriggered: Printer.deleteAll();
resetAllTranslation.onTriggered: Printer.resetAllTranslation();
resetAll.onTriggered: Printer.resetAll();
reloadAll.onTriggered: Printer.reloadAll();
addMachine.onTriggered: addMachineWizard.visible = true;
addProfile.onTriggered:
Connections
{
target: Actions.addProfile
onTriggered:
{
UM.MachineManager.createProfile();
preferences.setPage(4);
@ -636,26 +588,37 @@ UM.MainWindow
// Show the renameDialog after a very short delay so the preference page has time to initiate
showProfileNameDialogTimer.start();
}
updateProfile.onTriggered: UM.ActiveProfile.updateProfile();
resetProfile.onTriggered: UM.ActiveProfile.discardChanges();
}
preferences.onTriggered: preferences.visible = true;
configureMachines.onTriggered:
Connections
{
target: Actions.configureMachines
onTriggered:
{
preferences.visible = true;
preferences.setPage(3);
}
manageProfiles.onTriggered:
}
Connections
{
target: Actions.manageProfiles
onTriggered:
{
preferences.visible = true;
preferences.setPage(4);
}
}
documentation.onTriggered: CuraActions.openDocumentation();
reportBug.onTriggered: CuraActions.openBugReportPage();
showEngineLog.onTriggered: engineLog.visible = true;
about.onTriggered: aboutDialog.visible = true;
toggleFullScreen.onTriggered: base.toggleFullscreen();
Connections
{
target: Actions.configureSettingVisibility
onTriggered:
{
preferences.visible = true;
preferences.setPage(2);
preferences.getCurrentItem().scrollToSection(source.key);
}
}
Timer
@ -672,31 +635,70 @@ UM.MainWindow
id: objectContextMenu;
property variant objectId: -1;
MenuItem { action: actions.centerObject; }
MenuItem { action: actions.deleteObject; }
MenuItem { action: actions.multiplyObject; }
MenuItem { action: Actions.centerObject; }
MenuItem { action: Actions.deleteObject; }
MenuItem { action: Actions.multiplyObject; }
MenuSeparator { }
MenuItem { action: actions.deleteAll; }
MenuItem { action: actions.reloadAll; }
MenuItem { action: actions.resetAllTranslation; }
MenuItem { action: actions.resetAll; }
MenuItem { action: Actions.deleteAll; }
MenuItem { action: Actions.reloadAll; }
MenuItem { action: Actions.resetAllTranslation; }
MenuItem { action: Actions.resetAll; }
MenuSeparator { }
MenuItem { action: actions.groupObjects; }
MenuItem { action: actions.mergeObjects; }
MenuItem { action: actions.unGroupObjects; }
MenuItem { action: Actions.groupObjects; }
MenuItem { action: Actions.mergeObjects; }
MenuItem { action: Actions.unGroupObjects; }
Connections
{
target: Actions.deleteObject
onTriggered:
{
if(objectContextMenu.objectId != 0)
{
Printer.deleteObject(objectContextMenu.objectId);
objectContextMenu.objectId = 0;
}
}
}
Connections
{
target: Actions.multiplyObject
onTriggered:
{
if(objectContextMenu.objectId != 0)
{
Printer.multiplyObject(objectContextMenu.objectId, 1);
objectContextMenu.objectId = 0;
}
}
}
Connections
{
target: Actions.centerObject
onTriggered:
{
if(objectContextMenu.objectId != 0)
{
Printer.centerObject(objectContextMenu.objectId);
objectContextMenu.objectId = 0;
}
}
}
}
Menu
{
id: contextMenu;
MenuItem { action: actions.deleteAll; }
MenuItem { action: actions.reloadAll; }
MenuItem { action: actions.resetAllTranslation; }
MenuItem { action: actions.resetAll; }
MenuItem { action: Actions.deleteAll; }
MenuItem { action: Actions.reloadAll; }
MenuItem { action: Actions.resetAllTranslation; }
MenuItem { action: Actions.resetAll; }
MenuSeparator { }
MenuItem { action: actions.groupObjects; }
MenuItem { action: actions.mergeObjects; }
MenuItem { action: actions.unGroupObjects; }
MenuItem { action: Actions.groupObjects; }
MenuItem { action: Actions.mergeObjects; }
MenuItem { action: Actions.unGroupObjects; }
}
Connections
@ -715,6 +717,18 @@ UM.MainWindow
}
}
Connections
{
target: Actions.quit
onTriggered: base.visible = false;
}
Connections
{
target: Actions.toggleFullScreen
onTriggered: base.toggleFullscreen();
}
FileDialog
{
id: openDialog;
@ -739,14 +753,32 @@ UM.MainWindow
}
}
Connections
{
target: Actions.open
onTriggered: openDialog.open()
}
EngineLog
{
id: engineLog;
}
AddMachineWizard
Connections
{
id: addMachineWizard
target: Actions.showEngineLog
onTriggered: engineLog.visible = true;
}
AddMachineDialog
{
id: addMachineDialog
}
Connections
{
target: Actions.addMachine
onTriggered: addMachineDialog.visible = true;
}
AboutDialog
@ -754,13 +786,19 @@ UM.MainWindow
id: aboutDialog
}
Connections
{
target: Actions.about
onTriggered: aboutDialog.visible = true;
}
Connections
{
target: Printer
onRequestAddPrinter:
{
addMachineWizard.visible = true
addMachineWizard.firstRun = false
addMachineDialog.visible = true
addMachineDialog.firstRun = false
}
}
@ -777,10 +815,9 @@ UM.MainWindow
base.visible = true;
restart();
}
else if(UM.MachineManager.activeMachineInstance == "")
else if(Cura.MachineManager.activeMachineId == null || Cura.MachineManager.activeMachineId == "")
{
addMachineWizard.firstRun = true;
addMachineWizard.open();
addMachineDialog.open();
}
}
}

View file

@ -7,15 +7,16 @@ import QtQuick.Controls.Styles 1.1
import QtQuick.Layouts 1.1
import UM 1.1 as UM
import Cura 1.0 as Cura
Rectangle {
id: base;
property bool activity: Printer.getPlatformActivity;
property string fileBaseName
property variant activeMachineInstance: UM.MachineManager.activeMachineInstance
property variant activeMachineName: Cura.MachineManager.activeMachineName
onActiveMachineInstanceChanged:
onActiveMachineNameChanged:
{
base.createFileName()
}
@ -28,36 +29,48 @@ Rectangle {
height: childrenRect.height
color: "transparent"
function createFileName(){
var splitMachineName = UM.MachineManager.activeMachineInstance.split(" ")
var abbrMachine = ''
if ((UM.Preferences.getValue("cura/jobname_prefix"))) {
for (var i = 0; i < splitMachineName.length; i++){
if (splitMachineName[i].search(/ultimaker/i) != -1){
abbrMachine += 'UM'
function createFileName()
{
var splitMachineName = Cura.MachineManager.activeMachineName.split(" ")
var abbrMachine = "";
if ((UM.Preferences.getValue("cura/jobname_prefix")))
{
for (var i = 0; i < splitMachineName.length; i++)
{
if (splitMachineName[i].search(/ultimaker/i) != -1)
{
abbrMachine += "UM";
}
else{
else
{
if (splitMachineName[i].charAt(0).search(/[0-9]/g) == -1)
abbrMachine += splitMachineName[i].charAt(0)
}
var regExpAdditives = /[0-9\+]/g;
var resultAdditives = splitMachineName[i].match(regExpAdditives);
if (resultAdditives != null){
for (var j = 0; j < resultAdditives.length; j++){
abbrMachine += resultAdditives[j]
{
abbrMachine += splitMachineName[i].charAt(0);
}
}
}
printJobTextfield.text = abbrMachine + '_' + base.fileBaseName
} else {
printJobTextfield.text = base.fileBaseName
var regExpAdditives = /[0-9\+]/g;
var resultAdditives = splitMachineName[i].match(regExpAdditives);
if (resultAdditives != null)
{
for (var j = 0; j < resultAdditives.length; j++)
{
abbrMachine += resultAdditives[j];
}
}
printJobTextfield.text = abbrMachine + "_" + base.fileBaseName;
}
else
{
printJobTextfield.text = base.fileBaseName;
}
}
Connections {
Connections
{
target: backgroundItem
onHasMesh: {
onHasMesh:
{
base.fileBaseName = name
}
}

View file

@ -0,0 +1,68 @@
// Copyright (c) 2016 Ultimaker B.V.
// Uranium is released under the terms of the AGPLv3 or higher.
import QtQuick 2.1
import QtQuick.Controls 1.1
import UM 1.2 as UM
import Cura 1.0 as Cura
UM.ManagementPage
{
id: base;
title: catalog.i18nc("@title:tab", "Printers");
property int numInstances: model.rowCount();
model: UM.ContainerStacksModel
{
filter: {"type": "machine"}
onDataChanged: numInstances = model.rowCount()
}
onAddObject: Printer.requestAddPrinter()
onRemoveObject: confirmDialog.open();
onRenameObject: renameDialog.open();
removeEnabled: numInstances > 1
renameEnabled: numInstances > 0
Flow
{
anchors.fill: parent;
spacing: UM.Theme.getSize("default_margin").height;
Label
{
text: base.currentItem && base.currentItem.name ? base.currentItem.name : ""
font: UM.Theme.getFont("large")
width: parent.width
elide: Text.ElideRight
}
Label { text: catalog.i18nc("@label", "Type"); width: parent.width * 0.2; }
Label { text: base.currentItem && base.currentItem.typeName ? base.currentItem.typeName : ""; width: parent.width * 0.7; }
UM.I18nCatalog { id: catalog; name: "uranium"; }
UM.ConfirmRemoveDialog
{
id: confirmDialog;
object: base.currentItem && base.currentItem.name ? base.currentItem.name : "";
onYes: Cura.MachineManager.removeMachine(base.currentItem.id);
}
UM.RenameDialog
{
id: renameDialog;
object: base.currentItem && base.currentItem.name ? base.currentItem.name : "";
onAccepted:
{
Cura.MachineManager.renameMachine(base.currentItem.id, newName.trim());
//Reselect current item to update details panel
var index = objectList.currentIndex
objectList.currentIndex = -1
objectList.currentIndex = index
}
}
}
}

View file

@ -0,0 +1,217 @@
// Copyright (c) 2016 Ultimaker B.V.
// Uranium 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.0 as Cura
UM.ManagementPage
{
id: base;
title: catalog.i18nc("@title:tab", "Materials");
model: UM.InstanceContainersModel { filter: { "type": "material", "definition": Cura.MachineManager.activeDefinitionId } }
/*
onAddObject: { var selectedMaterial = UM.MaterialManager.createProfile(); base.selectMaterial(selectedMaterial); }
onRemoveObject: confirmDialog.open();
onRenameObject: { renameDialog.open(); renameDialog.selectText(); }
*/
// activateEnabled: false
addEnabled: false
removeEnabled: false
renameEnabled: false
scrollviewCaption: " "
detailsVisible: true
property string currency: UM.Preferences.getValue("general/currency")
Item {
UM.I18nCatalog { id: catalog; name: "cura"; }
visible: base.currentItem != null
anchors.fill: parent
Label { id: profileName; text: materialProperties.name; font: UM.Theme.getFont("large"); width: parent.width; }
TabView {
id: scrollView
anchors.left: parent.left
anchors.right: parent.right
anchors.top: profileName.bottom
anchors.topMargin: UM.Theme.getSize("default_margin").height
anchors.bottom: parent.bottom
Tab {
title: "Information"
anchors.margins: UM.Theme.getSize("default_margin").height
Flow {
id: containerGrid
width: scrollView.width;
property real columnWidth: width / 2
Label { width: parent.columnWidth; text: catalog.i18nc("@label", "Profile Type") }
Label { width: parent.columnWidth; text: materialProperties.profile_type }
Label { width: parent.columnWidth; text: catalog.i18nc("@label", "Supplier") }
Label { width: parent.columnWidth; text: materialProperties.supplier }
Label { width: parent.columnWidth; text: catalog.i18nc("@label", "Material Type") }
Label { width: parent.columnWidth; text: materialProperties.material_type }
Label { width: parent.columnWidth; text: catalog.i18nc("@label", "Color") }
Row {
width: parent.columnWidth;
spacing: UM.Theme.getSize("default_margin").width/2
Rectangle {
color: materialProperties.color_code
width: colorLabel.height
height: colorLabel.height
border.width: UM.Theme.getSize("default_lining").height
}
Label { id: colorLabel; text: materialProperties.color_name }
}
Item { width: parent.width; height: UM.Theme.getSize("default_margin").height }
Label { width: parent.width; text: "<b>" + catalog.i18nc("@label", "Properties") + "</b>" }
Label { width: parent.columnWidth; text: catalog.i18nc("@label", "Density") }
Label { width: parent.columnWidth; text: materialProperties.density }
Label { width: parent.columnWidth; text: catalog.i18nc("@label", "Diameter") }
Label { width: parent.columnWidth; text: materialProperties.diameter }
Label {
text: catalog.i18nc("@label", "Filament cost")
width: parent.columnWidth;
height: spoolCostInput.height
verticalAlignment: Text.AlignVCenter
}
Row {
width: parent.columnWidth;
Label {
text: base.currency ? base.currency + " " : " "
anchors.verticalCenter: parent.verticalCenter
}
TextField {
id: spoolCostInput
text: materialProperties.spool_cost
}
}
Label { width: parent.columnWidth; text: catalog.i18nc("@label", "Filament weight") }
Label { width: parent.columnWidth; text: materialProperties.spool_weight + " " + "g" }
Label { width: parent.columnWidth; text: catalog.i18nc("@label", "Filament length") }
Label { width: parent.columnWidth; text: materialProperties.spool_length + " " + "m" }
Label { width: parent.columnWidth; text: catalog.i18nc("@label", "Cost per meter") }
Label { width: parent.columnWidth; text: catalog.i18nc("@label", "approx. %1 %2/m").arg(materialProperties.cost_per_meter).arg(base.currency); }
Item { width: parent.width; height: UM.Theme.getSize("default_margin").height }
Label {
text: materialProperties.description ? "<b>" + catalog.i18nc("@label", "Information") + "</b><br>" + materialProperties.description : "";
width: parent.width
wrapMode: Text.WordWrap
}
Label {
text: materialProperties.adhesion_info ? "<b>" + catalog.i18nc("@label", "Adhesion") + "</b><br>" + materialProperties.adhesion_info : "";
width: parent.width
wrapMode: Text.WordWrap
}
}
}
Tab {
title: catalog.i18nc("@label", "Print settings")
anchors.margins: UM.Theme.getSize("default_margin").height
Grid {
columns: 2
spacing: UM.Theme.getSize("default_margin").width
Column {
Repeater {
model: base.currentItem ? base.currentItem.settings : null
Label {
text: modelData.name.toString();
elide: Text.ElideMiddle;
}
}
}
Column {
Repeater {
model: base.currentItem ? base.currentItem.settings : null
Label { text: modelData.value.toString() + " " + modelData.unit.toString(); }
}
}
}
}
}
QtObject
{
id: materialProperties
property string name: "Unknown";
property string profile_type: "Unknown";
property string supplier: "Unknown";
property string material_type: "Unknown";
property string color_name: "Yellow";
property color color_code: "yellow";
property string density: "Unknown";
property string diameter: "Unknown";
property string spool_cost: "Unknown";
property string spool_weight: "Unknown";
property string spool_length: "Unknown";
property string cost_per_meter: "Unknown";
property string description: "";
property string adhesion_info: "";
}
}
onCurrentItemChanged:
{
if(!currentItem == null)
{
return
}
materialProperties.name = currentItem.name;
if(currentItem.metadata != undefined && currentItem.metadata != null)
{
materialProperties.supplier = currentItem.metadata.brand ? currentItem.metadata.brand : "Unknown";
materialProperties.material_type = currentItem.metadata.material ? currentItem.metadata.material : "Unknown";
materialProperties.color_name = currentItem.metadata.color_name ? currentItem.metadata.color_name : "Yellow";
materialProperties.color_code = currentItem.metadata.color_code ? currentItem.metadata.color_code : "yellow";
materialProperties.description = currentItem.metadata.description ? currentItem.metadata.description : "";
materialProperties.adhesion_info = currentItem.metadata.adhesion_info ? currentItem.metadata.adhesion_info : "";
if(currentItem.metadata.properties != undefined && currentItem.metadata.properties != null)
{
materialProperties.density = currentItem.metadata.properties.density ? currentItem.metadata.properties.density : "Unknown";
materialProperties.diameter = currentItem.metadata.properties.diameter ? currentItem.metadata.properties.diameter : "Unknown";
}
else
{
materialProperties.density = "Unknown";
materialProperties.diameter = "Unknown";
}
}
}
}

View file

@ -0,0 +1,222 @@
// Copyright (c) 2015 Ultimaker B.V.
// Uranium 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
UM.ManagementPage
{
id: base;
title: catalog.i18nc("@title:tab", "Profiles");
addText: catalog.i18nc("@label", "Duplicate")
model: UM.InstanceContainersModel { filter: { "type": "quality" } }
onAddObject: {
var selectedProfile;
if (objectList.currentIndex == 0) {
// Current settings
selectedProfile = UM.MachineManager.createProfile();
} else {
selectedProfile = UM.MachineManager.duplicateProfile(currentItem.name);
}
base.selectProfile(selectedProfile);
renameDialog.removeWhenRejected = true;
renameDialog.open();
renameDialog.selectText();
}
onRemoveObject: confirmDialog.open();
onRenameObject: { renameDialog.removeWhenRejected = false; renameDialog.open(); renameDialog.selectText(); }
addEnabled: currentItem != null;
removeEnabled: currentItem != null ? !currentItem.readOnly : false;
renameEnabled: currentItem != null ? !currentItem.readOnly : false;
scrollviewCaption: catalog.i18nc("@label %1 is printer name","Printer: %1").arg(UM.MachineManager.activeMachineInstance)
signal selectProfile(string name)
onSelectProfile: {
objectList.currentIndex = objectList.model.find("name", name);
}
Item {
visible: base.currentItem != null
anchors.fill: parent
Label {
id: profileName
text: base.currentItem ? base.currentItem.name : ""
font: UM.Theme.getFont("large")
width: parent.width
elide: Text.ElideRight
}
ScrollView {
anchors.left: parent.left
anchors.top: profileName.bottom
anchors.topMargin: UM.Theme.getSize("default_margin").height
anchors.right: parent.right
anchors.bottom: parent.bottom
Column
{
spacing: UM.Theme.getSize("default_margin").height
Row
{
visible: base.currentItem.id == -1 || base.currentItem.active
Button
{
text: {
var profileName = UM.MachineManager.activeProfile;
profileName = (profileName.length > 20) ? profileName.substring(0, 20) + '...' : profileName;
return catalog.i18nc("@action:button", "Update \"%1\"".arg(profileName));
}
enabled: UM.ActiveProfile.hasCustomisedValues && !UM.ActiveProfile.readOnly
onClicked: UM.ActiveProfile.updateProfile()
}
Button
{
text: catalog.i18nc("@action:button", "Discard changes");
enabled: UM.ActiveProfile.hasCustomisedValues
onClicked: UM.ActiveProfile.discardChanges()
}
}
Grid
{
id: containerGrid
columns: 2
spacing: UM.Theme.getSize("default_margin").width
Label {
text: base.currentItem == null ? "" :
base.currentItem.id == -1 ? catalog.i18nc("@label", "Based on") : catalog.i18nc("@label", "Profile type")
}
Label {
text: base.currentItem == null ? "" :
base.currentItem.id == -1 ? UM.MachineManager.activeProfile :
base.currentItem.readOnly ? catalog.i18nc("@label", "Protected profile") : catalog.i18nc("@label", "Custom profile")
}
Column {
Repeater {
model: base.currentItem ? base.currentItem.settings : null
Label {
text: modelData.name.toString();
elide: Text.ElideMiddle;
}
}
}
Column {
Repeater {
model: base.currentItem ? base.currentItem.settings : null
Label { text: modelData.value.toString(); }
}
}
}
}
}
}
buttons: Row {
Button
{
text: catalog.i18nc("@action:button", "Import");
iconName: "document-import";
onClicked: importDialog.open();
}
Button
{
text: catalog.i18nc("@action:button", "Export");
iconName: "document-export";
onClicked: exportDialog.open();
}
}
Item
{
UM.I18nCatalog { id: catalog; name: "uranium"; }
UM.ConfirmRemoveDialog
{
id: confirmDialog;
object: base.currentItem != null ? base.currentItem.name : "";
onYes: base.model.removeProfile(base.currentItem.name);
}
UM.RenameDialog
{
id: renameDialog;
object: base.currentItem != null ? base.currentItem.name : "";
property bool removeWhenRejected: false;
onAccepted: base.model.renameProfile(base.currentItem.name, newName.trim());
onRejected: {
if(removeWhenRejected) {
base.model.removeProfile(base.currentItem.name)
}
}
}
MessageDialog
{
id: messageDialog
title: catalog.i18nc("@window:title", "Import Profile");
standardButtons: StandardButton.Ok
modality: Qt.ApplicationModal
}
FileDialog
{
id: importDialog;
title: catalog.i18nc("@title:window", "Import Profile");
selectExisting: true;
nameFilters: base.model.getFileNameFiltersRead()
folder: base.model.getDefaultPath()
onAccepted:
{
var result = base.model.importProfile(fileUrl)
messageDialog.text = result.message
if(result.status == "ok")
{
messageDialog.icon = StandardIcon.Information
}
else if(result.status == "duplicate")
{
messageDialog.icon = StandardIcon.Warning
}
else
{
messageDialog.icon = StandardIcon.Critical
}
messageDialog.open()
}
}
FileDialog
{
id: exportDialog;
title: catalog.i18nc("@title:window", "Export Profile");
selectExisting: false;
nameFilters: base.model.getFileNameFiltersWrite()
folder: base.model.getDefaultPath()
onAccepted:
{
var result = base.model.exportProfile(base.currentItem.id, base.currentItem.name, fileUrl, selectedNameFilter)
if(result && result.status == "error")
{
messageDialog.icon = StandardIcon.Critical
messageDialog.text = result.message
messageDialog.open()
}
// else pop-up Message thing from python code
}
}
}
}

View file

@ -6,7 +6,8 @@ import QtQuick.Controls 1.1
import QtQuick.Controls.Styles 1.1
import QtQuick.Layouts 1.1
import UM 1.1 as UM
import UM 1.2 as UM
import Cura 1.0 as Cura
Item{
id: base;
@ -41,13 +42,13 @@ Item{
property int rightMargin: customisedSettings.visible ? customisedSettings.width + UM.Theme.getSize("default_margin").width / 2 : 0
id: globalProfileSelection
text: UM.MachineManager.activeProfile
text: Cura.MachineManager.activeQualityName
width: parent.width/100*55
height: UM.Theme.getSize("setting_control").height
anchors.right: parent.right
anchors.rightMargin: UM.Theme.getSize("default_margin").width
anchors.verticalCenter: parent.verticalCenter
tooltip: UM.MachineManager.activeProfile
tooltip: Cura.MachineManager.activeQualityName
style: UM.Theme.styles.sidebar_header_button
menu: Menu
@ -56,7 +57,10 @@ Item{
Instantiator
{
id: profileSelectionInstantiator
model: UM.ProfilesModel {}
model: UM.InstanceContainersModel
{
filter: {"type": "quality"}
}
property int separatorIndex: -1
Loader {
@ -98,18 +102,18 @@ Item{
id: item
text: model_data ? model_data.name : ""
checkable: true;
checked: model_data ? model_data.active : false;
checked: Cura.MachineManager.activeQualityId == model_data.id
exclusiveGroup: profileSelectionMenuGroup;
onTriggered:
{
UM.MachineManager.setActiveProfile(model_data.name);
if (!model_data.active) {
Cura.MachineManager.setActiveQuality(model_data.id);
/*if (!model_data.active) {
//Selecting a profile was canceled; undo menu selection
profileSelectionInstantiator.model.setProperty(model_index, "active", false);
var activeProfileName = UM.MachineManager.activeProfile;
var activeProfileIndex = profileSelectionInstantiator.model.find("name", activeProfileName);
profileSelectionInstantiator.model.setProperty(activeProfileIndex, "active", true);
}
}*/
}
}
}

View file

@ -0,0 +1,82 @@
// Copyright (c) 2015 Ultimaker B.V.
// Uranium is released under the terms of the AGPLv3 or higher.
import QtQuick 2.2
import QtQuick.Controls 1.1
import QtQuick.Controls.Styles 1.1
import QtQuick.Layouts 1.1
import UM 1.1 as UM
import ".."
Button {
id: base;
style: UM.Theme.styles.sidebar_category;
signal showTooltip(string text);
signal hideTooltip();
signal contextMenuRequested()
text: definition.label
iconSource: UM.Theme.getIcon(definition.icon)
checkable: true
checked: definition.expanded
onClicked: definition.expanded ? settingDefinitionsModel.collapse(definition.key) : settingDefinitionsModel.expandAll(definition.key)
UM.SimpleButton {
id: settingsButton
visible: base.hovered || settingsButton.hovered
height: base.height * 0.6
width: base.height * 0.6
anchors {
right: inheritButton.visible ? inheritButton.left : parent.right
rightMargin: inheritButton.visible? UM.Theme.getSize("default_margin").width / 2 : UM.Theme.getSize("setting_preferences_button_margin").width
verticalCenter: parent.verticalCenter;
}
color: UM.Theme.getColor("setting_control_button");
hoverColor: UM.Theme.getColor("setting_control_button_hover")
iconSource: UM.Theme.getIcon("settings");
onClicked: {
Actions.configureSettingVisibility.trigger(definition)
}
}
UM.SimpleButton
{
id: inheritButton;
anchors.verticalCenter: parent.verticalCenter
anchors.right: parent.right
anchors.rightMargin: UM.Theme.getSize("setting_preferences_button_margin").width
visible: hiddenValuesCount > 0
height: parent.height / 2;
width: height;
onClicked: {
base.showAllHiddenInheritedSettings()
}
color: UM.Theme.getColor("setting_control_button")
hoverColor: UM.Theme.getColor("setting_control_button_hover")
iconSource: UM.Theme.getIcon("notice")
onEntered: {
base.showTooltip(catalog.i18nc("@label","Some hidden settings use values different from their normal calculated value.\n\nClick to make these settings visible."))
}
onExited: {
base.hideTooltip();
}
UM.I18nCatalog { id: catalog; name: "cura" }
}
}

View file

@ -0,0 +1,78 @@
// Copyright (c) 2015 Ultimaker B.V.
// Uranium is released under the terms of the AGPLv3 or higher.
import QtQuick 2.1
import QtQuick.Layouts 1.1
import QtQuick.Controls 1.1
import QtQuick.Controls.Styles 1.1
import UM 1.2 as UM
SettingItem
{
id: base
contents: MouseArea
{
id: control
anchors.fill: parent
property bool checked:
{
switch(propertyProvider.properties.value)
{
case "True":
return true
case "False":
return false
default:
return propertyProvider.properties.value
}
}
onClicked: propertyProvider.setPropertyValue("value", !checked)
Rectangle
{
anchors
{
top: parent.top
bottom: parent.bottom
left: parent.left
}
width: height
color:
{
if (!enabled)
{
return UM.Theme.getColor("setting_control_disabled")
}
if(control.containsMouse || control.activeFocus)
{
return UM.Theme.getColor("setting_control_highlight")
}
else
{
return UM.Theme.getColor("setting_control")
}
}
border.width: UM.Theme.getSize("default_lining").width
border.color: !enabled ? UM.Theme.getColor("setting_control_disabled_border") : control.containsMouse ? UM.Theme.getColor("setting_control_border_highlight") : UM.Theme.getColor("setting_control_border")
UM.RecolorImage {
anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenter: parent.horizontalCenter
width: parent.width/2.5
height: parent.height/2.5
sourceSize.width: width
sourceSize.height: width
color: !enabled ? UM.Theme.getColor("setting_control_disabled_text") : UM.Theme.getColor("setting_control_text");
source: UM.Theme.getIcon("check")
opacity: control.checked ? 1 : 0
Behavior on opacity { NumberAnimation { duration: 100; } }
}
}
}
}

View file

@ -0,0 +1,109 @@
// Copyright (c) 2015 Ultimaker B.V.
// Uranium is released under the terms of the AGPLv3 or higher.
import QtQuick 2.1
import QtQuick.Controls 1.1
import QtQuick.Controls.Styles 1.1
import UM 1.1 as UM
SettingItem
{
id: base
contents: ComboBox
{
id: control
model: definition.options
textRole: "value";
anchors.fill: parent
MouseArea
{
anchors.fill: parent;
acceptedButtons: Qt.NoButton;
onWheel: wheel.accepted = true;
}
style: ComboBoxStyle
{
background: Rectangle
{
color:
{
if (!enabled)
{
return UM.Theme.getColor("setting_control_disabled")
}
if(control.hovered || base.activeFocus)
{
return UM.Theme.getColor("setting_control_highlight")
}
else
{
return UM.Theme.getColor("setting_control")
}
}
border.width: UM.Theme.getSize("default_lining").width;
border.color: !enabled ? UM.Theme.getColor("setting_control_disabled_border") : control.hovered ? UM.Theme.getColor("setting_control_border_highlight") : UM.Theme.getColor("setting_control_border");
}
label: Item
{
Label
{
anchors.left: parent.left;
anchors.leftMargin: UM.Theme.getSize("default_lining").width
anchors.right: downArrow.left;
anchors.rightMargin: UM.Theme.getSize("default_lining").width;
anchors.verticalCenter: parent.verticalCenter;
text: control.currentText;
font: UM.Theme.getFont("default");
color: !enabled ? UM.Theme.getColor("setting_control_disabled_text") : UM.Theme.getColor("setting_control_text");
elide: Text.ElideRight;
verticalAlignment: Text.AlignVCenter;
}
UM.RecolorImage
{
id: downArrow
anchors.right: parent.right;
anchors.rightMargin: UM.Theme.getSize("default_lining").width * 2;
anchors.verticalCenter: parent.verticalCenter;
source: UM.Theme.getIcon("arrow_bottom")
width: UM.Theme.getSize("standard_arrow").width
height: UM.Theme.getSize("standard_arrow").height
sourceSize.width: width + 5
sourceSize.height: width + 5
color: UM.Theme.getColor("setting_control_text");
}
}
}
onActivated: provider.setPropertyValue("value", definition.options[index].key)
onModelChanged: updateCurrentIndex();
Connections
{
target: provider
onPropertiesChanged: control.updateCurrentIndex()
}
function updateCurrentIndex() {
for(var i = 0; i < definition.options.length; ++i) {
if(definition.options[i].key == provider.properties.value) {
currentIndex = i;
return;
}
}
currentIndex = -1;
}
}
}

View file

@ -0,0 +1,155 @@
// Copyright (c) 2015 Ultimaker B.V.
// Uranium is released under the terms of the AGPLv3 or higher.
import QtQuick 2.1
import QtQuick.Layouts 1.1
import QtQuick.Controls 1.1
import QtQuick.Controls.Styles 1.1
import UM 1.1 as UM
import "."
Item {
id: base;
height: UM.Theme.getSize("section").height;
property alias contents: controlContainer.children;
property alias hovered: mouse.containsMouse
signal contextMenuRequested()
signal showTooltip(string text);
signal hideTooltip();
MouseArea
{
id: mouse;
anchors.fill: parent;
acceptedButtons: Qt.RightButton;
hoverEnabled: true;
onClicked: base.contextMenuRequested();
onEntered: {
hoverTimer.start();
}
onExited: {
if(controlContainer.item && controlContainer.item.hovered) {
return;
}
hoverTimer.stop();
base.hideTooltip();
}
Timer {
id: hoverTimer;
interval: 500;
repeat: false;
onTriggered: base.showTooltip(definition.description);
}
Label
{
id: label;
anchors.left: parent.left;
anchors.leftMargin: (UM.Theme.getSize("section_icon_column").width + 5) + ((definition.depth - 1) * UM.Theme.getSize("setting_control_depth_margin").width)
anchors.right: settingControls.left;
anchors.verticalCenter: parent.verticalCenter
height: UM.Theme.getSize("section").height;
verticalAlignment: Text.AlignVCenter;
text: definition.label
elide: Text.ElideMiddle;
color: UM.Theme.getColor("setting_control_text");
font: UM.Theme.getFont("default");
}
Row
{
id: settingControls
height: parent.height / 2
spacing: UM.Theme.getSize("default_margin").width / 2
anchors {
right: controlContainer.left
rightMargin: UM.Theme.getSize("default_margin").width / 2
verticalCenter: parent.verticalCenter
}
UM.SimpleButton
{
id: revertButton;
visible: propertyProvider.properties.state == "InstanceState.User"
height: parent.height;
width: height;
backgroundColor: UM.Theme.getColor("setting_control");
hoverBackgroundColor: UM.Theme.getColor("setting_control_highlight")
color: UM.Theme.getColor("setting_control_button")
hoverColor: UM.Theme.getColor("setting_control_button_hover")
iconSource: UM.Theme.getIcon("reset")
onClicked: {
base.resetRequested()
controlContainer.notifyReset();
}
onEntered: base.showTooltip(catalog.i18nc("@label", "This setting has a value that is different from the profile.\n\nClick to restore the value of the profile."))
onExited: base.showTooltip(definition.description);
}
UM.SimpleButton
{
// This button shows when the setting has an inherited function, but is overriden by profile.
id: inheritButton;
//visible: has_profile_value && base.has_inherit_function && base.is_enabled
visible: propertyProvider.properties.state == "InstanceState.User"
height: parent.height;
width: height;
onClicked: {
base.resetToDefaultRequested();
controlContainer.notifyReset();
}
backgroundColor: UM.Theme.getColor("setting_control");
hoverBackgroundColor: UM.Theme.getColor("setting_control_highlight")
color: UM.Theme.getColor("setting_control_button")
hoverColor: UM.Theme.getColor("setting_control_button_hover")
iconSource: UM.Theme.getIcon("notice");
onEntered: base.showTooltip(catalog.i18nc("@label", "This setting is normally calculated, but it currently has an absolute value set.\n\nClick to restore the calculated value."))
onExited: base.showTooltip(definition.description);
}
}
Item
{
id: controlContainer;
anchors.right: parent.right;
anchors.rightMargin: UM.Theme.getSize("default_margin").width
anchors.verticalCenter: parent.verticalCenter;
width: UM.Theme.getSize("setting_control").width;
height: UM.Theme.getSize("setting_control").height
}
}
UM.I18nCatalog { id: catalog; name: "cura" }
}

View file

@ -0,0 +1,155 @@
// Copyright (c) 2015 Ultimaker B.V.
// Uranium is released under the terms of the AGPLv3 or higher.
import QtQuick 2.2
import QtQuick.Controls 1.2
import UM 1.1 as UM
SettingItem
{
id: base
contents: Rectangle
{
id: control
anchors.fill: parent
property alias hovered: mouseArea.containsMouse;
border.width: UM.Theme.getSize("default_lining").width
border.color: !enabled ? UM.Theme.getColor("setting_control_disabled_border") : hovered ? UM.Theme.getColor("setting_control_border_highlight") : UM.Theme.getColor("setting_control_border")
property variant parentValue: value //From parent loader
function notifyReset() {
input.text = format(parentValue)
}
color: {
if (!enabled)
{
return UM.Theme.getColor("setting_control_disabled")
}
switch(propertyProvider.properties.validationState)
{
case "ValidatorState.Exception":
return UM.Theme.getColor("setting_validation_error")
case "ValidatorState.MinimumError":
return UM.Theme.getColor("setting_validation_error")
case "ValidatorState.MaximumError":
return UM.Theme.getColor("setting_validation_error")
case "ValidatorState.MinimumWarning":
return UM.Theme.getColor("setting_validation_warning")
case "ValidatorState.MaximumWarning":
return UM.Theme.getColor("setting_validation_warning")
case "ValidatorState.Valid":
return UM.Theme.getColor("setting_validation_ok")
default:
return UM.Theme.getColor("setting_control")
}
}
Rectangle
{
anchors.fill: parent;
anchors.margins: UM.Theme.getSize("default_lining").width;
color: UM.Theme.getColor("setting_control_highlight")
opacity: !control.hovered ? 0 : propertyProvider.properties.validationState == "ValidatorState.Valid" ? 1.0 : 0.35;
}
Label
{
anchors.right: parent.right;
anchors.rightMargin: UM.Theme.getSize("setting_unit_margin").width
anchors.verticalCenter: parent.verticalCenter;
text: definition.unit;
color: UM.Theme.getColor("setting_unit")
font: UM.Theme.getFont("default")
}
MouseArea
{
id: mouseArea
anchors.fill: parent;
hoverEnabled: true;
cursorShape: Qt.IBeamCursor
}
TextInput
{
id: input
anchors
{
left: parent.left
leftMargin: UM.Theme.getSize("setting_unit_margin").width
right: parent.right
verticalCenter: parent.verticalCenter
}
Keys.onReleased:
{
// text = text.replace(",", ".") // User convenience. We use dots for decimal values
// if(parseFloat(text) != base.parentValue)
// {
// base.valueChanged(parseFloat(text));
// }
propertyProvider.setPropertyValue("value", text)
}
onEditingFinished:
{
// if(parseFloat(text) != base.parentValue)
// {
// base.valueChanged(parseFloat(text));
// }
propertyProvider.setPropertyValue("value", text)
}
color: !enabled ? UM.Theme.getColor("setting_control_disabled_text") : UM.Theme.getColor("setting_control_text")
font: UM.Theme.getFont("default");
selectByMouse: true;
maximumLength: 10;
validator: RegExpValidator { regExp: /[0-9.,-]{0,10}/ }
Binding
{
target: input
property: "text"
value: control.format(propertyProvider.properties.value)
when: !input.activeFocus
}
}
//Rounds a floating point number to 4 decimals. This prevents floating
//point rounding errors.
//
//input: The number to round.
//decimals: The number of decimals (digits after the radix) to round to.
//return: The rounded number.
function roundFloat(input, decimals)
{
//First convert to fixed-point notation to round the number to 4 decimals and not introduce new floating point errors.
//Then convert to a string (is implicit). The fixed-point notation will be something like "3.200".
//Then remove any trailing zeroes and the radix.
return input.toFixed(decimals).replace(/\.?0*$/, ""); //Match on periods, if any ( \.? ), followed by any number of zeros ( 0* ), then the end of string ( $ ).
}
//Formats a value for display in the text field.
//
//This correctly handles formatting of float values.
//
//input: The string value to format.
//return: The formatted string.
function format(inputValue) {
return parseFloat(inputValue) ? roundFloat(parseFloat(inputValue), 4) : inputValue //If it's a float, round to four decimals.
}
}
}

View file

@ -0,0 +1,19 @@
// Copyright (c) 2015 Ultimaker B.V.
// Uranium is released under the terms of the AGPLv3 or higher.
import QtQuick 2.1
import QtQuick.Controls 1.1
import UM 1.2 as UM
SettingItem
{
contents: Label
{
anchors.fill: parent
text: value + " " + unit;
color: UM.Theme.getColor("setting_control_text")
verticalAlignment: Qt.AlignVCenter
}
}

View file

@ -0,0 +1,135 @@
// Copyright (c) 2015 Ultimaker B.V.
// Uranium is released under the terms of the AGPLv3 or higher.
import QtQuick 2.2
import QtQuick.Controls 1.1
import QtQuick.Controls.Styles 1.1
import QtQuick.Layouts 1.1
import UM 1.2 as UM
import Cura 1.0 as Cura
import ".."
ScrollView
{
id: base;
style: UM.Theme.styles.scrollview;
flickableItem.flickableDirection: Flickable.VerticalFlick;
property Action configureSettings;
signal showTooltip(Item item, point location, string text);
signal hideTooltip();
ListView
{
id: contents
spacing: UM.Theme.getSize("default_lining").height;
model: UM.SettingDefinitionsModel { id: definitionsModel; containerId: Cura.MachineManager.activeDefinitionId }
delegate: Loader
{
id: delegate
width: UM.Theme.getSize("sidebar").width;
height: provider.properties.enabled ? UM.Theme.getSize("section").height : 0
Behavior on height { NumberAnimation { duration: 100 } }
opacity: provider.properties.enabled ? 1 : 0
Behavior on opacity { NumberAnimation { duration: 100 } }
enabled: provider.properties.enabled
property var definition: model
property var settingDefinitionsModel: definitionsModel
property var propertyProvider: provider
//Qt5.4.2 and earlier has a bug where this causes a crash: https://bugreports.qt.io/browse/QTBUG-35989
asynchronous: QT_VERSION_STR.split(".")[1] >= 5
source:
{
switch(model.type)
{
case "int":
return "SettingTextField.qml"
case "float":
return "SettingTextField.qml"
case "enum":
return "SettingComboBox.qml"
case "bool":
return "SettingCheckBox.qml"
case "str":
return "SettingTextField.qml"
case "category":
return "SettingCategory.qml"
default:
return "SettingUnknown.qml"
}
}
UM.SettingPropertyProvider
{
id: provider
containerStackId: Cura.MachineManager.activeMachineId
key: model.key
watchedProperties: [ "value", "enabled", "state", "validationState" ]
storeIndex: 0
}
Connections
{
target: item
onContextMenuRequested: { contextMenu.key = model.key; contextMenu.popup() }
onShowTooltip: base.showTooltip(delegate, { x: 0, y: delegate.height / 2 }, text)
onHideTooltip: base.hideTooltip()
}
}
UM.I18nCatalog { id: catalog; name: "uranium"; }
add: Transition {
SequentialAnimation {
NumberAnimation { properties: "height"; from: 0; duration: 100 }
NumberAnimation { properties: "opacity"; from: 0; duration: 100 }
}
}
remove: Transition {
SequentialAnimation {
NumberAnimation { properties: "opacity"; to: 0; duration: 100 }
NumberAnimation { properties: "height"; to: 0; duration: 100 }
}
}
addDisplaced: Transition {
NumberAnimation { properties: "x,y"; duration: 100 }
}
removeDisplaced: Transition {
SequentialAnimation {
PauseAnimation { duration: 100; }
NumberAnimation { properties: "x,y"; duration: 100 }
}
}
Menu
{
id: contextMenu;
property string key;
MenuItem
{
//: Settings context menu action
text: catalog.i18nc("@action:menu", "Hide this setting");
onTriggered: definitionsModel.hide(contextMenu.key);
}
MenuItem
{
//: Settings context menu action
text: catalog.i18nc("@action:menu", "Configure setting visiblity...");
onTriggered: Actions.configureSettingVisibility.trigger(contextMenu);
}
}
}
}

View file

@ -0,0 +1,119 @@
// Copyright (c) 2015 Ultimaker B.V.
// Uranium is released under the terms of the AGPLv3 or higher.
import QtQuick 2.1
import QtQuick.Controls 1.1
import QtQuick.Layouts 1.1
import QtQuick.Dialogs 1.1
import QtQuick.Controls.Styles 1.1
import QtQml 2.2
import UM 1.1 as UM
import "../Preferences"
PreferencesPage
{
//: Machine configuration page title.
title: catalog.i18nc("@title:tab","Machine");
id: base
contents: ColumnLayout
{
z: base.z
anchors.fill: parent;
UM.I18nCatalog { id: catalog; name:"uranium"}
RowLayout
{
//: Active machine combo box label
Label { text: catalog.i18nc("@label:listbox","Active Machine:"); }
ComboBox
{
id: machineCombo;
Layout.fillWidth: true;
model: UM.Models.machinesModel;
textRole: "name";
onActivated:
{
if(index != -1)
UM.Models.machinesModel.setActive(index);
}
Connections
{
id: machineChange
target: UM.Application
onMachineChanged: machineCombo.currentIndex = machineCombo.find(UM.Application.machineName);
}
Component.onCompleted: machineCombo.currentIndex = machineCombo.find(UM.Application.machineName);
}
//: Remove active machine button
Button { text: catalog.i18nc("@action:button","Remove"); onClicked: confirmRemoveDialog.open(); }
}
ScrollView
{
id: settingsScrollView
Layout.fillWidth: true;
Layout.fillHeight: true;
ListView
{
id: settingsListView
delegate: settingDelegate
model: UM.Models.settingsModel
x: 0
section.property: "category"
section.delegate: Label { text: section }
}
}
}
Component
{
id: settingDelegate
CheckBox
{
z:0
id: settingCheckBox
text: model.name;
x: depth * 25
checked: model.visibility
onClicked: ListView.view.model.setVisibility(model.key, checked)
//enabled: !model.disabled
onHoveredChanged:
{
if(hovered)
{
var xPos = parent.x + settingCheckBox.width;
var yPos = parent.y;
toolTip.show(model.description, 1000, 200, undefined, undefined) //tooltip-text, hover-delay in msec, animation-length in msec, position X, position Y (both y en x == undefined: gives the tooltip a standard placement in the right corner)
} else
{
toolTip.hide(0, 0)//hover-delay in msec, animation-length in msec
}
}
}
}
PreferencesToolTip
{
id: toolTip;
}
MessageDialog
{
id: confirmRemoveDialog;
icon: StandardIcon.Question;
//: Remove machine confirmation dialog title
title: catalog.i18nc("@title:window","Confirm Machine Deletion");
//: Remove machine confirmation dialog text
text: catalog.i18nc("@label","Are you sure you wish to remove the machine?");
standardButtons: StandardButton.Yes | StandardButton.No;
onYes: UM.Models.machinesModel.removeMachine(machineCombo.currentIndex);
}
}

View file

@ -27,7 +27,7 @@ Rectangle
function showTooltip(item, position, text)
{
tooltip.text = text;
position = item.mapToItem(base, position.x, position.y / 2);
position = item.mapToItem(base, position.x, position.y);
tooltip.show(position);
}
@ -247,7 +247,6 @@ Rectangle
id: sidebarAdvanced;
visible: false;
configureSettings: base.configureSettingsAction;
onShowTooltip: base.showTooltip(item, location, text)
onHideTooltip: base.hideTooltip()
}

View file

@ -5,9 +5,9 @@ import QtQuick 2.0
import QtQuick.Controls 1.2
import UM 1.0 as UM
import "Settings"
UM.SettingView {
expandedCategories: Printer.expandedCategories;
onExpandedCategoriesChanged: Printer.setExpandedCategories(expandedCategories);
SettingView {
// expandedCategories: Printer.expandedCategories;
// onExpandedCategoriesChanged: Printer.setExpandedCategories(expandedCategories);
}

View file

@ -5,7 +5,8 @@ import QtQuick 2.2
import QtQuick.Controls 1.1
import QtQuick.Controls.Styles 1.1
import UM 1.1 as UM
import UM 1.2 as UM
import Cura 1.0 as Cura
Item
{
@ -57,10 +58,10 @@ Item
ToolButton {
id: machineSelection
text: UM.MachineManager.activeMachineInstance;
text: Cura.MachineManager.activeMachineName;
width: parent.width/100*55
height: UM.Theme.getSize("setting_control").height
tooltip: UM.MachineManager.activeMachineInstance;
tooltip: Cura.MachineManager.activeMachineName;
anchors.right: parent.right
anchors.rightMargin: UM.Theme.getSize("default_margin").width
anchors.verticalCenter: parent.verticalCenter
@ -71,14 +72,17 @@ Item
id: machineSelectionMenu
Instantiator
{
model: UM.MachineInstancesModel { }
model: UM.ContainerStacksModel
{
filter: {"type": "machine"}
}
MenuItem
{
text: model.name;
checkable: true;
checked: model.active;
checked: Cura.MachineManager.activeMachineId == model.id
exclusiveGroup: machineSelectionMenuGroup;
onTriggered: UM.MachineManager.setActiveMachineInstance(model.name);
onTriggered: Cura.MachineManager.setActiveMachine(model.id);
}
onObjectAdded: machineSelectionMenu.insertItem(index, object)
onObjectRemoved: machineSelectionMenu.removeItem(object)
@ -100,12 +104,12 @@ Item
anchors.topMargin: visible ? UM.Theme.getSize("default_margin").height : 0
width: base.width
height: visible ? UM.Theme.getSize("sidebar_setup").height : 0
visible: UM.MachineManager.hasVariants || UM.MachineManager.hasMaterials
visible: Cura.MachineManager.hasVariants || Cura.MachineManager.hasMaterials
Label{
id: variantLabel
text: (UM.MachineManager.hasVariants && UM.MachineManager.hasMaterials) ? catalog.i18nc("@label","Nozzle & Material:"):
UM.MachineManager.hasVariants ? catalog.i18nc("@label","Nozzle:") : catalog.i18nc("@label","Material:");
text: (Cura.MachineManager.hasVariants && Cura.MachineManager.hasMaterials) ? catalog.i18nc("@label","Nozzle & Material:"):
Cura.MachineManager.hasVariants ? catalog.i18nc("@label","Nozzle:") : catalog.i18nc("@label","Material:");
anchors.left: parent.left
anchors.leftMargin: UM.Theme.getSize("default_margin").width
anchors.verticalCenter: parent.verticalCenter
@ -114,7 +118,8 @@ Item
color: UM.Theme.getColor("text");
}
Rectangle {
Rectangle
{
anchors.right: parent.right
anchors.rightMargin: UM.Theme.getSize("default_margin").width
anchors.verticalCenter: parent.verticalCenter
@ -124,9 +129,9 @@ Item
ToolButton {
id: variantSelection
text: UM.MachineManager.activeMachineVariant
tooltip: UM.MachineManager.activeMachineVariant;
visible: UM.MachineManager.hasVariants
text: Cura.MachineManager.activeVariantName
tooltip: Cura.MachineManager.activeVariantName;
visible: Cura.MachineManager.hasVariants
height: UM.Theme.getSize("setting_control").height
width: materialSelection.visible ? (parent.width - UM.Theme.getSize("default_margin").width) / 2 : parent.width
@ -139,23 +144,30 @@ Item
Instantiator
{
id: variantSelectionInstantiator
model: UM.MachineVariantsModel { id: variantsModel }
model: UM.InstanceContainersModel
{
filter:
{
"type": "variant",
"definition": Cura.MachineManager.activeDefinitionId //Only show variants of this machine
}
}
MenuItem
{
text: model.name;
checkable: true;
checked: model.active;
checked: model.id == Cura.MachineManager.activeVariantId;
exclusiveGroup: variantSelectionMenuGroup;
onTriggered:
{
UM.MachineManager.setActiveMachineVariant(variantsModel.getItem(index).name);
if (typeof(model) !== "undefined" && !model.active) {
Cura.MachineManager.setActiveVariant(model.id);
/*if (typeof(model) !== "undefined" && !model.active) {
//Selecting a variant was canceled; undo menu selection
variantSelectionInstantiator.model.setProperty(index, "active", false);
var activeMachineVariantName = UM.MachineManager.activeMachineVariant;
var activeMachineVariantIndex = variantSelectionInstantiator.model.find("name", activeMachineVariantName);
variantSelectionInstantiator.model.setProperty(activeMachineVariantIndex, "active", true);
}
}*/
}
}
onObjectAdded: variantsSelectionMenu.insertItem(index, object)
@ -168,9 +180,9 @@ Item
ToolButton {
id: materialSelection
text: UM.MachineManager.activeMaterial
tooltip: UM.MachineManager.activeMaterial
visible: UM.MachineManager.hasMaterials
text: Cura.MachineManager.activeMaterialName
tooltip: Cura.MachineManager.activeMaterialName
visible: Cura.MachineManager.hasMaterials
height: UM.Theme.getSize("setting_control").height
width: variantSelection.visible ? (parent.width - UM.Theme.getSize("default_margin").width) / 2 : parent.width
@ -183,23 +195,26 @@ Item
Instantiator
{
id: materialSelectionInstantiator
model: UM.MachineMaterialsModel { id: machineMaterialsModel }
model: UM.InstanceContainersModel
{
filter: { "type": "material", "definition": Cura.MachineManager.activeDefinitionId }
}
MenuItem
{
text: model.name;
checkable: true;
checked: model.active;
checked: model.id == Cura.MachineManager.activeMaterialId;
exclusiveGroup: materialSelectionMenuGroup;
onTriggered:
{
UM.MachineManager.setActiveMaterial(machineMaterialsModel.getItem(index).name);
if (typeof(model) !== "undefined" && !model.active) {
Cura.MachineManager.setActiveMaterial(model.id);
/*if (typeof(model) !== "undefined" && !model.active) {
//Selecting a material was canceled; undo menu selection
materialSelectionInstantiator.model.setProperty(index, "active", false);
var activeMaterialName = UM.MachineManager.activeMaterial;
var activeMaterialName = Cura.MachineManager.activeMaterialName
var activeMaterialIndex = materialSelectionInstantiator.model.find("name", activeMaterialName);
materialSelectionInstantiator.model.setProperty(activeMaterialIndex, "active", true);
}
}*/
}
}
onObjectAdded: materialSelectionMenu.insertItem(index, object)

View file

@ -6,7 +6,8 @@ import QtQuick.Controls 1.1
import QtQuick.Controls.Styles 1.1
import QtQuick.Layouts 1.1
import UM 1.1 as UM
import UM 1.2 as UM
import Cura 1.0 as Cura
Item
{
@ -56,12 +57,7 @@ Item
Repeater {
id: infillListView
property int activeIndex: {
if(!UM.ActiveProfile.valid)
{
return -1;
}
var density = parseInt(UM.ActiveProfile.settingValues.getValue("infill_sparse_density"));
var density = parseInt(infillDensity.properties.value)
for(var i = 0; i < infillModel.count; ++i)
{
if(density > infillModel.get(i).percentageMin && density <= infillModel.get(i).percentageMax )
@ -116,11 +112,11 @@ Item
onClicked: {
if (infillListView.activeIndex != index)
{
UM.MachineManager.setSettingValue("infill_sparse_density", model.percentage)
infillDensity.setPropertyValue("value", model.percentage)
}
}
onEntered: {
base.showTooltip(infillCellRight, Qt.point(-infillCellRight.x, parent.height), model.text);
base.showTooltip(infillCellRight, Qt.point(-infillCellRight.x, 0), model.text);
}
onExited: {
base.hideTooltip();
@ -213,18 +209,19 @@ Item
text: catalog.i18nc("@option:check","Generate Brim");
style: UM.Theme.styles.checkbox;
checked: UM.ActiveProfile.valid ? UM.ActiveProfile.settingValues.getValue("adhesion_type") == "brim" : false;
checked: platformAdhesionType.properties.value == "brim"
MouseArea {
anchors.fill: parent
hoverEnabled: true
onClicked:
{
UM.MachineManager.setSettingValue("adhesion_type", !parent.checked?"brim":"skirt")
platformAdhesionType.setPropertyValue("value", !parent.checked ? "brim" : "skirt")
}
onEntered:
{
parent.hovered_ex = true
base.showTooltip(brimCheckBox, Qt.point(-helpersCellRight.x, parent.height),
base.showTooltip(brimCheckBox, Qt.point(-helpersCellRight.x, 0),
catalog.i18nc("@label", "Enable printing a brim. This will add a single-layer-thick flat area around your object which is easy to cut off afterwards."));
}
onExited:
@ -246,18 +243,18 @@ Item
text: catalog.i18nc("@option:check","Generate Support Structure");
style: UM.Theme.styles.checkbox;
checked: UM.ActiveProfile.valid ? UM.ActiveProfile.settingValues.getValue("support_enable") : false;
checked: supportEnabled.properties.value == "True"
MouseArea {
anchors.fill: parent
hoverEnabled: true
onClicked:
{
UM.MachineManager.setSettingValue("support_enable", !parent.checked)
supportEnabled.setPropertyValue("value", !parent.checked)
}
onEntered:
{
parent.hovered_ex = true
base.showTooltip(supportCheckBox, Qt.point(-helpersCellRight.x, parent.height),
base.showTooltip(supportCheckBox, Qt.point(-helpersCellRight.x, 0),
catalog.i18nc("@label", "Enable printing support structures. This will build up supporting structures below the model to prevent the model from sagging or printing in mid air."));
}
onExited:
@ -271,15 +268,15 @@ Item
function populateExtruderModel()
{
extruderModel.clear()
var extruder_count = UM.MachineManager.getSettingValue("machine_extruder_count");
for(var extruder = 0; extruder < extruder_count ; extruder++) {
extruderModel.append({
name: catalog.i18nc("@label", "Extruder %1").arg(extruder),
text: catalog.i18nc("@label", "Extruder %1").arg(extruder),
value: extruder
})
}
// extruderModel.clear()
// var extruder_count = UM.MachineManager.getSettingValue("machine_extruder_count");
// for(var extruder = 0; extruder < extruder_count ; extruder++) {
// extruderModel.append({
// name: catalog.i18nc("@label", "Extruder %1").arg(extruder),
// text: catalog.i18nc("@label", "Extruder %1").arg(extruder),
// value: extruder
// })
// }
}
Rectangle {
@ -290,7 +287,7 @@ Item
width: parent.width
height: childrenRect.height
// Use both UM.ActiveProfile and UM.MachineManager to force UM.MachineManager.getSettingValue() to be reevaluated
visible: UM.ActiveProfile.settingValues.getValue("machine_extruder_count") || (UM.MachineManager.getSettingValue("machine_extruder_count") > 1)
// visible: UM.ActiveProfile.settingValues.getValue("machine_extruder_count") || (UM.MachineManager.getSettingValue("machine_extruder_count") > 1)
Label {
id: mainExtruderLabel
@ -308,9 +305,9 @@ Item
anchors.top: parent.top
anchors.left: supportExtruderLabel.right
style: UM.Theme.styles.combobox
currentIndex: UM.ActiveProfile.valid ? UM.ActiveProfile.settingValues.getValue("extruder_nr") : 0
// currentIndex: UM.ActiveProfile.valid ? UM.ActiveProfile.settingValues.getValue("extruder_nr") : 0
onActivated: {
UM.MachineManager.setSettingValue("extruder_nr", index)
// UM.MachineManager.setSettingValue("extruder_nr", index)
}
}
@ -335,7 +332,7 @@ Item
anchors.topMargin: UM.Theme.getSize("default_margin").height
anchors.left: supportExtruderLabel.right
style: UM.Theme.styles.combobox
currentIndex: UM.ActiveProfile.valid ? UM.ActiveProfile.settingValues.getValue("support_extruder_nr") : 0
// currentIndex: UM.ActiveProfile.valid ? UM.ActiveProfile.settingValues.getValue("support_extruder_nr") : 0
onActivated: {
UM.MachineManager.setSettingValue("support_extruder_nr", index)
}
@ -345,12 +342,12 @@ Item
id: extruderModel
Component.onCompleted: populateExtruderModel()
}
Connections
{
id: machineChange
target: UM.MachineManager
onActiveMachineInstanceChanged: populateExtruderModel()
}
// Connections
// {
// id: machineChange
// target: UM.MachineManager
// onActiveMachineInstanceChanged: populateExtruderModel()
// }
}
Rectangle {
@ -375,4 +372,36 @@ Item
onLinkActivated: Qt.openUrlExternally(link)
}
}
UM.SettingPropertyProvider
{
id: infillDensity
containerStackId: Cura.MachineManager.activeMachineId
key: "infill_sparse_density"
watchedProperties: [ "value" ]
storeIndex: 0
onPropertiesChanged: console.log(properties.value)
}
UM.SettingPropertyProvider
{
id: platformAdhesionType
containerStackId: Cura.MachineManager.activeMachineId
key: "adhesion_type"
watchedProperties: [ "value" ]
storeIndex: 0
}
UM.SettingPropertyProvider
{
id: supportEnabled
containerStackId: Cura.MachineManager.activeMachineId
key: "support_enable"
watchedProperties: [ "value" ]
storeIndex: 0
}
}

View file

@ -31,7 +31,7 @@ UM.PointingRectangle {
y = position.y - UM.Theme.getSize("tooltip_arrow_margins").height;
}
base.opacity = 1;
target = Qt.point(40 , position.y)
target = Qt.point(40 , position.y + UM.Theme.getSize("tooltip_arrow_margins").height / 2)
}
function hide() {

View file

@ -25,7 +25,7 @@ Item {
Repeater {
id: repeat
model: UM.Models.toolModel
model: UM.ToolModel { }
Button {
text: model.name

View file

@ -17,9 +17,6 @@ Item
Component.onDestruction:
{
if (extruderCheckBox.checked == true){
UM.MachineManager.setMachineSettingValue("machine_extruder_drive_upgrade", true)
}
if (heatedBedCheckBox1.checked == true || heatedBedCheckBox2.checked == true){
UM.MachineManager.setMachineSettingValue("machine_heated_bed", true)
}
@ -52,12 +49,6 @@ Item
anchors.topMargin: UM.Theme.getSize("default_margin").height
width: parent.width - UM.Theme.getSize("default_margin").width
CheckBox
{
id: extruderCheckBox
text: catalog.i18nc("@option:check","Extruder driver ugrades")
checked: true
}
CheckBox
{
id: heatedBedCheckBox1
text: catalog.i18nc("@option:check","Heated printer bed")

3
resources/qml/qmldir Normal file
View file

@ -0,0 +1,3 @@
module Cura
singleton Actions 1.0 Actions.qml

View file

@ -0,0 +1,10 @@
[general]
version = 2
name = High Quality
definition = fdmprinter
[metadata]
type = quality
[values]
layer_height = 0.06

View file

@ -0,0 +1,9 @@
[general]
version = 2
name = Normal Quality
definition = fdmprinter
[metadata]
type = quality
[values]

View file

@ -280,35 +280,6 @@ QtObject {
}
}
property variant setting_item: UM.SettingItemStyle {
labelFont: Theme.getFont("default");
labelColor: Theme.getColor("setting_control_text");
spacing: Theme.getSize("default_lining").height;
fixedHeight: Theme.getSize("setting").height;
controlWidth: Theme.getSize("setting_control").width;
controlRightMargin: Theme.getSize("setting_control_margin").width;
controlColor: Theme.getColor("setting_control");
controlHighlightColor: Theme.getColor("setting_control_highlight");
controlBorderColor: Theme.getColor("setting_control_border");
controlBorderHighlightColor: Theme.getColor("setting_control_border_highlight");
controlTextColor: Theme.getColor("setting_control_text");
controlBorderWidth: Theme.getSize("default_lining").width;
controlDisabledColor: Theme.getColor("setting_control_disabled");
controlDisabledTextColor: Theme.getColor("setting_control_disabled_text");
controlDisabledBorderColor: Theme.getColor("setting_control_disabled_border");
controlFont: Theme.getFont("default");
validationErrorColor: Theme.getColor("setting_validation_error");
validationWarningColor: Theme.getColor("setting_validation_warning");
validationOkColor: Theme.getColor("setting_validation_ok");
unitRightMargin: Theme.getSize("setting_unit_margin").width;
unitColor: Theme.getColor("setting_unit");
unitFont: Theme.getFont("default");
}
property Component combobox: Component {
ComboBoxStyle {
background: Rectangle {

View file

@ -0,0 +1,17 @@
[general]
name = 0.25 mm
version = 2
definition = ultimaker2_extended_plus
[metadata]
author = Ultimaker
type = variant
[values]
machine_nozzle_size = 0.25
machine_nozzle_tip_outer_diameter = 0.8
coasting_volume = 0.1
coasting_min_volume = 0.17
speed_wall = round(speed_print / 1.2, 1)
speed_wall_0 = 1 if speed_wall < 5 else (speed_wall - 5)
speed_topbottom = round(speed_print / 1.5, 1)

View file

@ -0,0 +1,15 @@
[general]
name = 0.4 mm
version = 2
definition = ultimaker2_extended_plus
[metadata]
author = Ultimaker
type = variant
[values]
machine_nozzle_size = 0.4
machine_nozzle_tip_outer_diameter = 1.05
speed_wall = round(speed_print / 1.25, 1)
speed_wall_0 = 1 if speed_wall < 10 else (speed_wall - 10)
speed_topbottom = round(speed_print / 2.25, 1)

View file

@ -0,0 +1,16 @@
[general]
name = 0.6 mm
version = 2
definition = ultimaker2_extended_plus
[metadata]
author = Ultimaker
type = variant
[values]
machine_nozzle_size = 0.6
machine_nozzle_tip_outer_diameter = 1.25
coasting_volume = 1.36
speed_wall = round(speed_print * 4 / 3, 1)
speed_wall_0 = 1 if speed_wall < 10 else (speed_wall - 10)
speed_topbottom = round(speed_print / 2, 1)

View file

@ -0,0 +1,16 @@
[general]
name = 0.8 mm
version = 2
definition = ultimaker2_extended_plus
[metadata]
author = Ultimaker
type = variant
[values]
machine_nozzle_size = 0.8
machine_nozzle_tip_outer_diameter = 1.35
coasting_volume = 3.22
speed_wall = round(speed_print * 4 / 3, 1)
speed_wall_0 = 1 if speed_wall < 10 else (speed_wall - 10)
speed_topbottom = round(speed_print / 2, 1)

View file

@ -0,0 +1,17 @@
[general]
name = 0.25 mm
version = 2
definition = ultimaker2_plus
[metadata]
author = Ultimaker
type = variant
[values]
machine_nozzle_size = 0.25
machine_nozzle_tip_outer_diameter = 0.8
coasting_volume = 0.1
coasting_min_volume = 0.17
speed_wall = round(speed_print / 1.2, 1)
speed_wall_0 = 1 if speed_wall < 5 else (speed_wall - 5)
speed_topbottom = round(speed_print / 1.5, 1)

View file

@ -0,0 +1,15 @@
[general]
name = 0.4 mm
version = 2
definition = ultimaker2_plus
[metadata]
author = Ultimaker
type = variant
[values]
machine_nozzle_size = 0.4
machine_nozzle_tip_outer_diameter = 1.05
speed_wall = round(speed_print / 1.25, 1)
speed_wall_0 = 1 if speed_wall < 10 else (speed_wall - 10)
speed_topbottom = round(speed_print / 2.25, 1)

View file

@ -0,0 +1,16 @@
[general]
name = 0.6 mm
version = 2
definition = ultimaker2_plus
[metadata]
author = Ultimaker
type = variant
[values]
machine_nozzle_size = 0.6
machine_nozzle_tip_outer_diameter = 1.25
coasting_volume = 1.36
speed_wall = round(speed_print * 4 / 3, 1)
speed_wall_0 = 1 if speed_wall < 10 else (speed_wall - 10)
speed_topbottom = round(speed_print / 2, 1)

View file

@ -0,0 +1,16 @@
[general]
name = 0.8 mm
version = 2
definition = ultimaker2_plus
[metadata]
author = Ultimaker
type = variant
[values]
machine_nozzle_size = 0.8
machine_nozzle_tip_outer_diameter = 1.35
coasting_volume = 3.22
speed_wall = round(speed_print * 4 / 3, 1)
speed_wall_0 = 1 if speed_wall < 10 else (speed_wall - 10)
speed_topbottom = round(speed_print / 2, 1)