mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-12-11 07:48:53 -07:00
Merge branch 'master' of github.com:Ultimaker/Cura into network_rewrite
This commit is contained in:
commit
ed9634ebe0
77 changed files with 2675 additions and 791 deletions
55
resources/definitions/anycubic_i3_mega.def.json
Normal file
55
resources/definitions/anycubic_i3_mega.def.json
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
{
|
||||
"version":2,
|
||||
"name":"Anycubic i3 Mega",
|
||||
"inherits":"fdmprinter",
|
||||
"metadata":{
|
||||
"visible":true,
|
||||
"author":"TheTobby",
|
||||
"manufacturer":"Anycubic",
|
||||
"file_formats":"text/x-gcode",
|
||||
"icon":"icon_ultimaker2",
|
||||
"platform":"anycubic_i3_mega_platform.stl",
|
||||
"has_materials": false,
|
||||
"has_machine_quality": true,
|
||||
"preferred_quality": "*normal*"
|
||||
},
|
||||
|
||||
"overrides":{
|
||||
"machine_name":{
|
||||
"default_value":"Anycubic i3 Mega"
|
||||
},
|
||||
"machine_heated_bed":{
|
||||
"default_value":true
|
||||
},
|
||||
"machine_width":{
|
||||
"default_value":210
|
||||
},
|
||||
"machine_height":{
|
||||
"default_value":205
|
||||
},
|
||||
"machine_depth":{
|
||||
"default_value":210
|
||||
},
|
||||
"machine_center_is_zero":{
|
||||
"default_value":false
|
||||
},
|
||||
"machine_nozzle_size":{
|
||||
"default_value":0.4
|
||||
},
|
||||
"material_diameter":{
|
||||
"default_value":1.75
|
||||
},
|
||||
"gantry_height":{
|
||||
"default_value":0
|
||||
},
|
||||
"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 F{travel_speed} ;move the platform down 15mm\nG92 E0 ;zero the extruded length\nG1 F200 E3 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F{travel_speed}\nM117 Printing...\nG5"
|
||||
},
|
||||
"machine_end_gcode":{
|
||||
"default_value":"M104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nM84 ; disable motors\nM107\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle\nto release some of the pressure\nG1 Z+0.5 E-5 ;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\nso the head is out of the way\nG1 Y180 F2000\nM84 ;steppers off\nG90\nM300 P300 S4000"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1853,6 +1853,14 @@
|
|||
"settable_per_mesh": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"infill_enable_travel_optimization":
|
||||
{
|
||||
"label": "Enable Travel Optimization",
|
||||
"description": "When enabled, the order in which the infill lines are printed is optimized to reduce the distance travelled. The reduction in travel time achieved very much depends on the model being sliced, infill pattern, density, etc. Note that, for some models that have many small areas of infill, the time to slice the model may be greatly increased.",
|
||||
"type": "bool",
|
||||
"default_value": false,
|
||||
"settable_per_mesh": true
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -3475,13 +3483,22 @@
|
|||
"settable_per_mesh": true,
|
||||
"settable_per_extruder": false
|
||||
},
|
||||
"support_tree_enable":
|
||||
{
|
||||
"label": "Tree Support",
|
||||
"description": "Generate a tree-like support with branches that support your print. This may reduce material usage and print time.",
|
||||
"type": "bool",
|
||||
"default_value": false,
|
||||
"settable_per_mesh": true,
|
||||
"settable_per_extruder": false
|
||||
},
|
||||
"support_extruder_nr":
|
||||
{
|
||||
"label": "Support Extruder",
|
||||
"description": "The extruder train to use for printing the support. This is used in multi-extrusion.",
|
||||
"type": "extruder",
|
||||
"default_value": "0",
|
||||
"enabled": "support_enable and machine_extruder_count > 1",
|
||||
"enabled": "(support_enable or support_tree_enable) and machine_extruder_count > 1",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": false,
|
||||
"children": {
|
||||
|
|
@ -3492,7 +3509,7 @@
|
|||
"type": "extruder",
|
||||
"default_value": "0",
|
||||
"value": "support_extruder_nr",
|
||||
"enabled": "support_enable and machine_extruder_count > 1",
|
||||
"enabled": "(support_enable or support_tree_enable) and machine_extruder_count > 1",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": false
|
||||
},
|
||||
|
|
@ -3503,7 +3520,7 @@
|
|||
"type": "extruder",
|
||||
"default_value": "0",
|
||||
"value": "support_extruder_nr",
|
||||
"enabled": "support_enable and machine_extruder_count > 1",
|
||||
"enabled": "(support_enable or support_tree_enable) and machine_extruder_count > 1",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": false
|
||||
},
|
||||
|
|
@ -3514,7 +3531,7 @@
|
|||
"type": "extruder",
|
||||
"default_value": "0",
|
||||
"value": "support_extruder_nr",
|
||||
"enabled": "support_enable and machine_extruder_count > 1",
|
||||
"enabled": "(support_enable or support_tree_enable) and machine_extruder_count > 1",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": false,
|
||||
"children":
|
||||
|
|
@ -3526,7 +3543,7 @@
|
|||
"type": "extruder",
|
||||
"default_value": "0",
|
||||
"value": "support_interface_extruder_nr",
|
||||
"enabled": "support_enable and machine_extruder_count > 1",
|
||||
"enabled": "(support_enable or support_tree_enable) and machine_extruder_count > 1",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": false
|
||||
},
|
||||
|
|
@ -3537,7 +3554,7 @@
|
|||
"type": "extruder",
|
||||
"default_value": "0",
|
||||
"value": "support_interface_extruder_nr",
|
||||
"enabled": "support_enable and machine_extruder_count > 1",
|
||||
"enabled": "(support_enable or support_tree_enable) and machine_extruder_count > 1",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": false
|
||||
}
|
||||
|
|
@ -3557,7 +3574,7 @@
|
|||
},
|
||||
"default_value": "everywhere",
|
||||
"resolve": "'everywhere' if 'everywhere' in extruderValues('support_type') else 'buildplate'",
|
||||
"enabled": "support_enable",
|
||||
"enabled": "support_enable or support_tree_enable",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": false
|
||||
},
|
||||
|
|
@ -3572,7 +3589,7 @@
|
|||
"maximum_value_warning": "80",
|
||||
"default_value": 50,
|
||||
"limit_to_extruder": "support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr",
|
||||
"enabled": "support_enable",
|
||||
"enabled": "support_enable or support_tree_enable",
|
||||
"settable_per_mesh": true
|
||||
},
|
||||
"support_pattern":
|
||||
|
|
@ -3591,7 +3608,7 @@
|
|||
"cross": "Cross"
|
||||
},
|
||||
"default_value": "zigzag",
|
||||
"enabled": "support_enable",
|
||||
"enabled": "support_enable or support_tree_enable",
|
||||
"limit_to_extruder": "support_infill_extruder_nr",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true
|
||||
|
|
@ -3602,7 +3619,7 @@
|
|||
"description": "Connect the ZigZags. This will increase the strength of the zig zag support structure.",
|
||||
"type": "bool",
|
||||
"default_value": true,
|
||||
"enabled": "support_enable and (support_pattern == 'zigzag')",
|
||||
"enabled": "(support_enable or support_tree_enable) and support_pattern == 'zigzag'",
|
||||
"limit_to_extruder": "support_infill_extruder_nr",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true
|
||||
|
|
@ -3616,7 +3633,8 @@
|
|||
"minimum_value": "0",
|
||||
"maximum_value_warning": "100",
|
||||
"default_value": 15,
|
||||
"enabled": "support_enable",
|
||||
"value": "15 if support_enable else 0",
|
||||
"enabled": "support_enable or support_tree_enable",
|
||||
"limit_to_extruder": "support_infill_extruder_nr",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true,
|
||||
|
|
@ -3631,7 +3649,7 @@
|
|||
"minimum_value": "0",
|
||||
"minimum_value_warning": "support_line_width",
|
||||
"default_value": 2.66,
|
||||
"enabled": "support_enable",
|
||||
"enabled": "support_enable or support_tree_enable",
|
||||
"value": "0 if support_infill_rate == 0 else (support_line_width * 100) / support_infill_rate * (2 if support_pattern == 'grid' else (3 if support_pattern == 'triangles' else 1))",
|
||||
"limit_to_extruder": "support_infill_extruder_nr",
|
||||
"settable_per_mesh": false,
|
||||
|
|
@ -3649,7 +3667,7 @@
|
|||
"maximum_value_warning": "machine_nozzle_size",
|
||||
"default_value": 0.1,
|
||||
"limit_to_extruder": "support_interface_extruder_nr if support_interface_enable else support_infill_extruder_nr",
|
||||
"enabled": "support_enable",
|
||||
"enabled": "support_enable or support_tree_enable",
|
||||
"settable_per_mesh": true,
|
||||
"children":
|
||||
{
|
||||
|
|
@ -3662,7 +3680,7 @@
|
|||
"maximum_value_warning": "machine_nozzle_size",
|
||||
"default_value": 0.1,
|
||||
"type": "float",
|
||||
"enabled": "support_enable",
|
||||
"enabled": "support_enable or support_tree_enable",
|
||||
"value": "extruderValue(support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr, 'support_z_distance')",
|
||||
"limit_to_extruder": "support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr",
|
||||
"settable_per_mesh": true
|
||||
|
|
@ -3678,7 +3696,7 @@
|
|||
"value": "extruderValue(support_bottom_extruder_nr if support_bottom_enable else support_infill_extruder_nr, 'support_z_distance') if support_type == 'everywhere' else 0",
|
||||
"limit_to_extruder": "support_bottom_extruder_nr if support_bottom_enable else support_infill_extruder_nr",
|
||||
"type": "float",
|
||||
"enabled": "support_enable and resolveOrValue('support_type') == 'everywhere'",
|
||||
"enabled": "(support_enable or support_tree_enable) and resolveOrValue('support_type') == 'everywhere'",
|
||||
"settable_per_mesh": true
|
||||
}
|
||||
}
|
||||
|
|
@ -3693,7 +3711,7 @@
|
|||
"maximum_value_warning": "1.5 * machine_nozzle_tip_outer_diameter",
|
||||
"default_value": 0.7,
|
||||
"limit_to_extruder": "support_infill_extruder_nr",
|
||||
"enabled": "support_enable",
|
||||
"enabled": "support_enable or support_tree_enable",
|
||||
"settable_per_mesh": true
|
||||
},
|
||||
"support_xy_overrides_z":
|
||||
|
|
@ -3788,10 +3806,114 @@
|
|||
"maximum_value_warning": "0.75 * machine_nozzle_size",
|
||||
"maximum_value": "resolveOrValue('layer_height') * 8",
|
||||
"value": "resolveOrValue('layer_height')",
|
||||
"enabled": "support_enable and support_infill_rate > 0",
|
||||
"enabled": "(support_enable or support_tree_enable) and support_infill_rate > 0",
|
||||
"limit_to_extruder": "support_infill_extruder_nr",
|
||||
"settable_per_mesh": false
|
||||
},
|
||||
"support_tree_angle":
|
||||
{
|
||||
"label": "Tree Support Branch Angle",
|
||||
"description": "The angle of the branches. Use a lower angle to make them more vertical and more stable. Use a higher angle to be able to have more reach.",
|
||||
"unit": "°",
|
||||
"type": "float",
|
||||
"minimum_value": "0",
|
||||
"maximum_value": "90",
|
||||
"maximum_value_warning": "60",
|
||||
"default_value": 40,
|
||||
"limit_to_extruder": "support_infill_extruder_nr",
|
||||
"enabled": "support_tree_enable",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true
|
||||
},
|
||||
"support_tree_branch_distance":
|
||||
{
|
||||
"label": "Tree Support Branch Distance",
|
||||
"description": "How far apart the branches need to be when they touch the model. Making this distance small will cause the tree support to touch the model at more points, causing better overhang but making support harder to remove.",
|
||||
"unit": "mm",
|
||||
"type": "float",
|
||||
"minimum_value": "0.001",
|
||||
"default_value": 4,
|
||||
"limit_to_extruder": "support_infill_extruder_nr",
|
||||
"enabled": "support_tree_enable",
|
||||
"settable_per_mesh": true
|
||||
},
|
||||
"support_tree_branch_diameter":
|
||||
{
|
||||
"label": "Tree Support Branch Diameter",
|
||||
"description": "The diameter of the thinnest branches of tree support. Thicker branches are more sturdy. Branches towards the base will be thicker than this.",
|
||||
"unit": "mm",
|
||||
"type": "float",
|
||||
"minimum_value": "0.001",
|
||||
"minimum_value_warning": "support_line_width * 2",
|
||||
"default_value": 2,
|
||||
"limit_to_extruder": "support_infill_extruder_nr",
|
||||
"enabled": "support_tree_enable",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true
|
||||
},
|
||||
"support_tree_branch_diameter_angle":
|
||||
{
|
||||
"label": "Tree Support Branch Diameter Angle",
|
||||
"description": "The angle of the branches' diameter as they gradually become thicker towards the bottom. An angle of 0 will cause the branches to have uniform thickness over their length. A bit of an angle can increase stability of the tree support.",
|
||||
"unit": "°",
|
||||
"type": "float",
|
||||
"minimum_value": "0",
|
||||
"maximum_value": "89.9999",
|
||||
"maximum_value_warning": "15",
|
||||
"default_value": 5,
|
||||
"limit_to_extruder": "support_infill_extruder_nr",
|
||||
"enabled": "support_tree_enable",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true
|
||||
},
|
||||
"support_tree_collision_resolution":
|
||||
{
|
||||
"label": "Tree Support Collision Resolution",
|
||||
"description": "Resolution to compute collisions with to avoid hitting the model. Setting this lower will produce more accurate trees that fail less often, but increases slicing time dramatically.",
|
||||
"unit": "mm",
|
||||
"type": "float",
|
||||
"minimum_value": "0.001",
|
||||
"minimum_value_warning": "support_line_width / 4",
|
||||
"maximum_value_warning": "support_line_width * 2",
|
||||
"default_value": 0.4,
|
||||
"value": "support_line_width / 2",
|
||||
"limit_to_extruder": "support_infill_extruder_nr",
|
||||
"enabled": "support_tree_enable and support_tree_branch_diameter_angle > 0",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true
|
||||
},
|
||||
"support_tree_wall_thickness":
|
||||
{
|
||||
"label": "Tree Support Wall Thickness",
|
||||
"description": "The thickness of the walls of the branches of tree support. Thicker walls take longer to print but don't fall over as easily.",
|
||||
"unit": "mm",
|
||||
"type": "float",
|
||||
"minimum_value": "0",
|
||||
"minimum_value_warning": "wall_line_width",
|
||||
"default_value": 0.8,
|
||||
"value": "support_line_width",
|
||||
"limit_to_extruder": "support_infill_extruder_nr",
|
||||
"enabled": "support_tree_enable",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true,
|
||||
"children":
|
||||
{
|
||||
"support_tree_wall_count":
|
||||
{
|
||||
"label": "Tree Support Wall Line Count",
|
||||
"description": "The number of walls of the branches of tree support. Thicker walls take longer to print but don't fall over as easily.",
|
||||
"type": "int",
|
||||
"minimum_value": "0",
|
||||
"minimum_value_warning": "1",
|
||||
"default_value": 1,
|
||||
"value": "round(support_tree_wall_thickness / support_line_width)",
|
||||
"limit_to_extruder": "support_infill_extruder_nr",
|
||||
"enabled": "support_tree_enable",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"gradual_support_infill_steps":
|
||||
{
|
||||
"label": "Gradual Support Infill Steps",
|
||||
|
|
@ -3801,7 +3923,7 @@
|
|||
"minimum_value": "0",
|
||||
"maximum_value_warning": "1 if (support_pattern == 'cross' or support_pattern == 'lines' or support_pattern == 'zigzag' or support_pattern == 'concentric' or support_pattern == 'concentric_3d') else 5",
|
||||
"maximum_value": "999999 if support_line_distance == 0 else (20 - math.log(support_line_distance) / math.log(2))",
|
||||
"enabled": "support_enable and support_infill_rate > 0",
|
||||
"enabled": "(support_enable or support_tree_enable) and support_infill_rate > 0",
|
||||
"limit_to_extruder": "support_infill_extruder_nr",
|
||||
"settable_per_mesh": false
|
||||
},
|
||||
|
|
@ -3814,7 +3936,7 @@
|
|||
"default_value": 1,
|
||||
"minimum_value": "0.0001",
|
||||
"minimum_value_warning": "3 * resolveOrValue('layer_height')",
|
||||
"enabled": "support_enable and support_infill_rate > 0 and gradual_support_infill_steps > 0",
|
||||
"enabled": "(support_enable or support_tree_enable) and support_infill_rate > 0 and gradual_support_infill_steps > 0",
|
||||
"limit_to_extruder": "support_infill_extruder_nr",
|
||||
"settable_per_mesh": false
|
||||
},
|
||||
|
|
@ -3825,7 +3947,7 @@
|
|||
"type": "bool",
|
||||
"default_value": false,
|
||||
"limit_to_extruder": "support_interface_extruder_nr",
|
||||
"enabled": "support_enable",
|
||||
"enabled": "support_enable or support_tree_enable",
|
||||
"settable_per_mesh": true,
|
||||
"children":
|
||||
{
|
||||
|
|
@ -3837,7 +3959,7 @@
|
|||
"default_value": false,
|
||||
"value": "extruderValue(support_roof_extruder_nr, 'support_interface_enable')",
|
||||
"limit_to_extruder": "support_roof_extruder_nr",
|
||||
"enabled": "support_enable",
|
||||
"enabled": "support_enable or support_tree_enable",
|
||||
"settable_per_mesh": true
|
||||
},
|
||||
"support_bottom_enable":
|
||||
|
|
@ -3848,7 +3970,7 @@
|
|||
"default_value": false,
|
||||
"value": "extruderValue(support_bottom_extruder_nr, 'support_interface_enable')",
|
||||
"limit_to_extruder": "support_bottom_extruder_nr",
|
||||
"enabled": "support_enable",
|
||||
"enabled": "support_enable or support_tree_enable",
|
||||
"settable_per_mesh": true
|
||||
}
|
||||
}
|
||||
|
|
@ -3864,7 +3986,7 @@
|
|||
"minimum_value_warning": "0.2 + layer_height",
|
||||
"maximum_value_warning": "10",
|
||||
"limit_to_extruder": "support_interface_extruder_nr",
|
||||
"enabled": "support_interface_enable and support_enable",
|
||||
"enabled": "support_interface_enable and (support_enable or support_tree_enable)",
|
||||
"settable_per_mesh": true,
|
||||
"children":
|
||||
{
|
||||
|
|
@ -3880,7 +4002,7 @@
|
|||
"maximum_value_warning": "10",
|
||||
"value": "extruderValue(support_roof_extruder_nr, 'support_interface_height')",
|
||||
"limit_to_extruder": "support_roof_extruder_nr",
|
||||
"enabled": "support_roof_enable and support_enable",
|
||||
"enabled": "support_roof_enable and (support_enable or support_tree_enable)",
|
||||
"settable_per_mesh": true
|
||||
},
|
||||
"support_bottom_height":
|
||||
|
|
@ -3895,7 +4017,7 @@
|
|||
"minimum_value_warning": "min(0.2 + layer_height, support_bottom_stair_step_height)",
|
||||
"maximum_value_warning": "10",
|
||||
"limit_to_extruder": "support_bottom_extruder_nr",
|
||||
"enabled": "support_bottom_enable and support_enable",
|
||||
"enabled": "support_bottom_enable and (support_enable or support_tree_enable)",
|
||||
"settable_per_mesh": true
|
||||
}
|
||||
}
|
||||
|
|
@ -3922,7 +4044,7 @@
|
|||
"minimum_value": "0",
|
||||
"maximum_value_warning": "100",
|
||||
"limit_to_extruder": "support_interface_extruder_nr",
|
||||
"enabled": "support_interface_enable and support_enable",
|
||||
"enabled": "support_interface_enable and (support_enable or support_tree_enable)",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true,
|
||||
"children":
|
||||
|
|
@ -3937,7 +4059,7 @@
|
|||
"minimum_value": "0",
|
||||
"maximum_value": "100",
|
||||
"limit_to_extruder": "support_roof_extruder_nr",
|
||||
"enabled": "support_roof_enable and support_enable",
|
||||
"enabled": "support_roof_enable and (support_enable or support_tree_enable)",
|
||||
"value": "extruderValue(support_roof_extruder_nr, 'support_interface_density')",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true,
|
||||
|
|
@ -3954,7 +4076,7 @@
|
|||
"minimum_value_warning": "support_roof_line_width - 0.0001",
|
||||
"value": "0 if support_roof_density == 0 else (support_roof_line_width * 100) / support_roof_density * (2 if support_roof_pattern == 'grid' else (3 if support_roof_pattern == 'triangles' else 1))",
|
||||
"limit_to_extruder": "support_roof_extruder_nr",
|
||||
"enabled": "support_roof_enable and support_enable",
|
||||
"enabled": "support_roof_enable and (support_enable or support_tree_enable)",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true
|
||||
}
|
||||
|
|
@ -3970,7 +4092,7 @@
|
|||
"minimum_value": "0",
|
||||
"maximum_value": "100",
|
||||
"limit_to_extruder": "support_bottom_extruder_nr",
|
||||
"enabled": "support_bottom_enable and support_enable",
|
||||
"enabled": "support_bottom_enable and (support_enable or support_tree_enable)",
|
||||
"value": "extruderValue(support_bottom_extruder_nr, 'support_interface_density')",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true,
|
||||
|
|
@ -3987,7 +4109,7 @@
|
|||
"minimum_value_warning": "support_bottom_line_width - 0.0001",
|
||||
"value": "0 if support_bottom_density == 0 else (support_bottom_line_width * 100) / support_bottom_density * (2 if support_bottom_pattern == 'grid' else (3 if support_bottom_pattern == 'triangles' else 1))",
|
||||
"limit_to_extruder": "support_bottom_extruder_nr",
|
||||
"enabled": "support_bottom_enable and support_enable",
|
||||
"enabled": "support_bottom_enable and (support_enable or support_tree_enable)",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true
|
||||
}
|
||||
|
|
@ -4011,7 +4133,7 @@
|
|||
},
|
||||
"default_value": "concentric",
|
||||
"limit_to_extruder": "support_interface_extruder_nr",
|
||||
"enabled": "support_interface_enable and support_enable",
|
||||
"enabled": "support_interface_enable and (support_enable or support_tree_enable)",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true,
|
||||
"children":
|
||||
|
|
@ -4033,7 +4155,7 @@
|
|||
"default_value": "concentric",
|
||||
"value": "extruderValue(support_roof_extruder_nr, 'support_interface_pattern')",
|
||||
"limit_to_extruder": "support_roof_extruder_nr",
|
||||
"enabled": "support_roof_enable and support_enable",
|
||||
"enabled": "support_roof_enable and (support_enable or support_tree_enable)",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true
|
||||
},
|
||||
|
|
@ -4054,7 +4176,7 @@
|
|||
"default_value": "concentric",
|
||||
"value": "extruderValue(support_bottom_extruder_nr, 'support_interface_pattern')",
|
||||
"limit_to_extruder": "support_bottom_extruder_nr",
|
||||
"enabled": "support_bottom_enable and support_enable",
|
||||
"enabled": "support_bottom_enable and (support_enable or support_tree_enable)",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": true
|
||||
}
|
||||
|
|
|
|||
54
resources/definitions/tevo_blackwidow.def.json
Normal file
54
resources/definitions/tevo_blackwidow.def.json
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
{
|
||||
"version": 2,
|
||||
"name": "Tevo Black Widow",
|
||||
"inherits": "fdmprinter",
|
||||
"metadata": {
|
||||
"visible": true,
|
||||
"author": "TheTobby",
|
||||
"manufacturer": "Tevo",
|
||||
"file_formats": "text/x-gcode",
|
||||
"icon": "icon_ultimaker2",
|
||||
"has_materials": false,
|
||||
"has_machine_quality": true,
|
||||
"platform": "prusai3_platform.stl",
|
||||
"preferred_quality": "*normal*"
|
||||
},
|
||||
"overrides": {
|
||||
"machine_name": {
|
||||
"default_value": "Tevo Black Widow"
|
||||
},
|
||||
"machine_heated_bed": {
|
||||
"default_value": true
|
||||
},
|
||||
"machine_width": {
|
||||
"default_value": 350
|
||||
},
|
||||
"machine_height": {
|
||||
"default_value": 250
|
||||
},
|
||||
"machine_depth": {
|
||||
"default_value": 250
|
||||
},
|
||||
"machine_center_is_zero": {
|
||||
"default_value": false
|
||||
},
|
||||
"machine_nozzle_size": {
|
||||
"default_value": 0.4
|
||||
},
|
||||
"material_diameter": {
|
||||
"default_value": 1.75
|
||||
},
|
||||
"gantry_height": {
|
||||
"default_value": 0
|
||||
},
|
||||
"machine_gcode_flavor": {
|
||||
"default_value": "RepRap (Marlin/Sprinter)"
|
||||
},
|
||||
"machine_start_gcode": {
|
||||
"default_value": "M280 P0 S160 ; release BLTouch alarm (OK to send for Non BLTouch)\nM420 Z2 ; set fade leveling at 2mm for BLTouch (OK to send for Non BLTouch)\nG28 ; home all\nG29 ; probe bed\nG92 E0 ;zero the extruded length\nG1 X0.0 Y50.0 Z10.0 F3600\n; perform wipe and prime\nG1 Z0.0 F1000\nG1 Z0.2 Y70.0 E9.0 F1000.0 ; prime\nG1 Y100.0 E12.5 F1000.0 ; prime\nG92 E0 ; zero extruder again\nM117 Printing..."
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "G92 E0 ; zero the extruded length again\nG1 E-1.5 F500 ; retract the filament to release some of the pressure\nM104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nG28 X0 ; home X axis\nG1 Y245 ; move Y axis to end position\nM84 ; disable motors\nM107 ; turn off fan"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -66,7 +66,7 @@
|
|||
"default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG1 Z15.0 F9000 ;move the platform down 15mm\nG92 E0 ;zero the extruded length\nG1 F200 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\nG1 Y200 F3600 ;move baseplate to front for easier access to printed object"
|
||||
"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\nG90 ;absolute positioning\nG1 X0 Y200 F3600 ;move extruder out of the way by moving the baseplate to the front for easier access to printed object\nM84 ;steppers off"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
BIN
resources/meshes/anycubic_i3_mega_platform.stl
Normal file
BIN
resources/meshes/anycubic_i3_mega_platform.stl
Normal file
Binary file not shown.
BIN
resources/meshes/tevo_blackwidow.stl
Normal file
BIN
resources/meshes/tevo_blackwidow.stl
Normal file
Binary file not shown.
|
|
@ -17,7 +17,12 @@ Item
|
|||
property alias undo: undoAction;
|
||||
property alias redo: redoAction;
|
||||
|
||||
property alias homeCamera: homeCameraAction;
|
||||
property alias view3DCamera: view3DCameraAction;
|
||||
property alias viewFrontCamera: viewFrontCameraAction;
|
||||
property alias viewTopCamera: viewTopCameraAction;
|
||||
property alias viewLeftSideCamera: viewLeftSideCameraAction;
|
||||
property alias viewRightSideCamera: viewRightSideCameraAction;
|
||||
|
||||
property alias expandSidebar: expandSidebarAction;
|
||||
|
||||
property alias deleteSelection: deleteSelectionAction;
|
||||
|
|
@ -36,6 +41,7 @@ Item
|
|||
property alias selectAll: selectAllAction;
|
||||
property alias deleteAll: deleteAllAction;
|
||||
property alias reloadAll: reloadAllAction;
|
||||
property alias arrangeAllBuildPlates: arrangeAllBuildPlatesAction;
|
||||
property alias arrangeAll: arrangeAllAction;
|
||||
property alias arrangeSelection: arrangeSelectionAction;
|
||||
property alias resetAllTranslation: resetAllTranslationAction;
|
||||
|
|
@ -104,9 +110,37 @@ Item
|
|||
|
||||
Action
|
||||
{
|
||||
id: homeCameraAction;
|
||||
text: catalog.i18nc("@action:inmenu menubar:view","&Reset camera position");
|
||||
onTriggered: CuraActions.homeCamera();
|
||||
id: view3DCameraAction;
|
||||
text: catalog.i18nc("@action:inmenu menubar:view","&3D View");
|
||||
onTriggered: UM.Controller.rotateView("3d", 0);
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: viewFrontCameraAction;
|
||||
text: catalog.i18nc("@action:inmenu menubar:view","&Front View");
|
||||
onTriggered: UM.Controller.rotateView("home", 0);
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: viewTopCameraAction;
|
||||
text: catalog.i18nc("@action:inmenu menubar:view","&Top View");
|
||||
onTriggered: UM.Controller.rotateView("y", 90);
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: viewLeftSideCameraAction;
|
||||
text: catalog.i18nc("@action:inmenu menubar:view","&Left Side View");
|
||||
onTriggered: UM.Controller.rotateView("x", 90);
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: viewRightSideCameraAction;
|
||||
text: catalog.i18nc("@action:inmenu menubar:view","&Right Side View");
|
||||
onTriggered: UM.Controller.rotateView("x", -90);
|
||||
}
|
||||
|
||||
Action
|
||||
|
|
@ -311,6 +345,13 @@ Item
|
|||
onTriggered: CuraApplication.reloadAll();
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: arrangeAllBuildPlatesAction;
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit","Arrange All Models To All Build Plates");
|
||||
onTriggered: Printer.arrangeObjectsToAllBuildPlates();
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: arrangeAllAction;
|
||||
|
|
|
|||
|
|
@ -375,6 +375,18 @@ UM.MainWindow
|
|||
}
|
||||
}
|
||||
|
||||
ObjectsList
|
||||
{
|
||||
id: objectsList;
|
||||
visible: UM.Preferences.getValue("cura/use_multi_build_plate");
|
||||
anchors
|
||||
{
|
||||
bottom: parent.bottom;
|
||||
left: parent.left;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Topbar
|
||||
{
|
||||
id: topbar
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import QtQuick.Dialogs 1.2
|
|||
import QtQuick.Window 2.1
|
||||
|
||||
import UM 1.2 as UM
|
||||
import Cura 1.0 as Cura
|
||||
import Cura 1.2 as Cura
|
||||
|
||||
Menu
|
||||
{
|
||||
|
|
@ -39,6 +39,35 @@ Menu
|
|||
onObjectRemoved: base.removeItem(object)
|
||||
}
|
||||
|
||||
MenuSeparator {
|
||||
visible: UM.Preferences.getValue("cura/use_multi_build_plate")
|
||||
}
|
||||
|
||||
Instantiator
|
||||
{
|
||||
model: Cura.BuildPlateModel
|
||||
MenuItem {
|
||||
text: Cura.BuildPlateModel.getItem(index).name;
|
||||
onTriggered: CuraActions.setBuildPlateForSelection(Cura.BuildPlateModel.getItem(index).buildPlateNumber);
|
||||
checkable: true
|
||||
checked: Cura.BuildPlateModel.selectionBuildPlates.indexOf(Cura.BuildPlateModel.getItem(index).buildPlateNumber) != -1;
|
||||
visible: UM.Preferences.getValue("cura/use_multi_build_plate")
|
||||
}
|
||||
onObjectAdded: base.insertItem(index, object);
|
||||
onObjectRemoved: base.removeItem(object);
|
||||
}
|
||||
|
||||
MenuItem {
|
||||
text: "New build plate";
|
||||
onTriggered: {
|
||||
CuraActions.setBuildPlateForSelection(Cura.BuildPlateModel.maxBuildPlate + 1);
|
||||
checked = false;
|
||||
}
|
||||
checkable: true
|
||||
checked: false
|
||||
visible: UM.Preferences.getValue("cura/use_multi_build_plate")
|
||||
}
|
||||
|
||||
// Global actions
|
||||
MenuSeparator {}
|
||||
MenuItem { action: Cura.Actions.selectAll; }
|
||||
|
|
|
|||
|
|
@ -5,12 +5,12 @@ import QtQuick 2.2
|
|||
import QtQuick.Controls 1.1
|
||||
|
||||
import UM 1.2 as UM
|
||||
import Cura 1.0 as Cura
|
||||
import Cura 1.2 as Cura
|
||||
|
||||
Menu
|
||||
{
|
||||
title: catalog.i18nc("@title:menu menubar:toplevel", "&View");
|
||||
id: menu
|
||||
id: base
|
||||
enabled: !PrintInformation.preSliced
|
||||
|
||||
// main views
|
||||
|
|
@ -25,12 +25,50 @@ Menu
|
|||
exclusiveGroup: group
|
||||
onTriggered: UM.Controller.setActiveView(model.id)
|
||||
}
|
||||
onObjectAdded: menu.insertItem(index, object)
|
||||
onObjectRemoved: menu.removeItem(object)
|
||||
onObjectAdded: base.insertItem(index, object)
|
||||
onObjectRemoved: base.removeItem(object)
|
||||
}
|
||||
ExclusiveGroup { id: group }
|
||||
|
||||
MenuSeparator {}
|
||||
MenuItem { action: Cura.Actions.homeCamera; }
|
||||
|
||||
Menu
|
||||
{
|
||||
title: catalog.i18nc("@action:inmenu menubar:view","&Camera position");
|
||||
MenuItem { action: Cura.Actions.view3DCamera; }
|
||||
MenuItem { action: Cura.Actions.viewFrontCamera; }
|
||||
MenuItem { action: Cura.Actions.viewTopCamera; }
|
||||
MenuItem { action: Cura.Actions.viewLeftSideCamera; }
|
||||
MenuItem { action: Cura.Actions.viewRightSideCamera; }
|
||||
}
|
||||
|
||||
MenuSeparator {
|
||||
visible: UM.Preferences.getValue("cura/use_multi_build_plate")
|
||||
}
|
||||
|
||||
Menu
|
||||
{
|
||||
id: buildPlateMenu;
|
||||
title: catalog.i18nc("@action:inmenu menubar:view","&Build plate");
|
||||
visible: UM.Preferences.getValue("cura/use_multi_build_plate")
|
||||
Instantiator
|
||||
{
|
||||
model: Cura.BuildPlateModel
|
||||
MenuItem {
|
||||
text: Cura.BuildPlateModel.getItem(index).name;
|
||||
onTriggered: Cura.SceneController.setActiveBuildPlate(Cura.BuildPlateModel.getItem(index).buildPlateNumber);
|
||||
checkable: true;
|
||||
checked: Cura.BuildPlateModel.getItem(index).buildPlateNumber == Cura.BuildPlateModel.activeBuildPlate;
|
||||
exclusiveGroup: buildPlateGroup;
|
||||
visible: UM.Preferences.getValue("cura/use_multi_build_plate")
|
||||
}
|
||||
onObjectAdded: buildPlateMenu.insertItem(index, object);
|
||||
onObjectRemoved: buildPlateMenu.removeItem(object)
|
||||
}
|
||||
ExclusiveGroup { id: buildPlateGroup; }
|
||||
}
|
||||
|
||||
MenuSeparator {}
|
||||
|
||||
MenuItem { action: Cura.Actions.expandSidebar; }
|
||||
}
|
||||
|
|
|
|||
266
resources/qml/ObjectsList.qml
Normal file
266
resources/qml/ObjectsList.qml
Normal file
|
|
@ -0,0 +1,266 @@
|
|||
// Copyright (c) 2017 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
import QtQuick.Layouts 1.1
|
||||
import QtQuick.Dialogs 1.1
|
||||
|
||||
import UM 1.3 as UM
|
||||
import Cura 1.2 as Cura
|
||||
|
||||
import "Menus"
|
||||
|
||||
Rectangle
|
||||
{
|
||||
id: base;
|
||||
|
||||
color: UM.Theme.getColor("tool_panel_background")
|
||||
|
||||
width: UM.Theme.getSize("objects_menu_size").width
|
||||
height: {
|
||||
if (collapsed) {
|
||||
return UM.Theme.getSize("objects_menu_size_collapsed").height;
|
||||
} else {
|
||||
return UM.Theme.getSize("objects_menu_size").height;
|
||||
}
|
||||
}
|
||||
Behavior on height { NumberAnimation { duration: 100 } }
|
||||
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
border.color: UM.Theme.getColor("lining")
|
||||
|
||||
property bool collapsed: false;
|
||||
|
||||
SystemPalette { id: palette }
|
||||
|
||||
Button {
|
||||
id: collapseButton
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: Math.floor(UM.Theme.getSize("default_margin").height + (UM.Theme.getSize("layerview_row").height - UM.Theme.getSize("default_margin").height) / 2)
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: UM.Theme.getSize("default_margin").width
|
||||
|
||||
width: UM.Theme.getSize("standard_arrow").width
|
||||
height: UM.Theme.getSize("standard_arrow").height
|
||||
|
||||
onClicked: collapsed = !collapsed
|
||||
|
||||
style: ButtonStyle
|
||||
{
|
||||
background: UM.RecolorImage
|
||||
{
|
||||
width: control.width
|
||||
height: control.height
|
||||
sourceSize.width: width
|
||||
sourceSize.height: width
|
||||
color: UM.Theme.getColor("setting_control_text")
|
||||
source: collapsed ? UM.Theme.getIcon("arrow_left") : UM.Theme.getIcon("arrow_bottom")
|
||||
}
|
||||
label: Label{ }
|
||||
}
|
||||
}
|
||||
|
||||
Component {
|
||||
id: buildPlateDelegate
|
||||
Rectangle
|
||||
{
|
||||
height: childrenRect.height
|
||||
color: Cura.BuildPlateModel.getItem(index).buildPlateNumber == Cura.BuildPlateModel.activeBuildPlate ? palette.highlight : index % 2 ? palette.base : palette.alternateBase
|
||||
width: parent.width
|
||||
Label
|
||||
{
|
||||
id: buildPlateNameLabel
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
||||
width: parent.width - 2 * UM.Theme.getSize("default_margin").width - 30
|
||||
text: Cura.BuildPlateModel.getItem(index) ? Cura.BuildPlateModel.getItem(index).name : "";
|
||||
color: Cura.BuildPlateModel.activeBuildPlate == index ? palette.highlightedText : palette.text
|
||||
elide: Text.ElideRight
|
||||
}
|
||||
|
||||
MouseArea
|
||||
{
|
||||
anchors.fill: parent;
|
||||
onClicked:
|
||||
{
|
||||
Cura.SceneController.setActiveBuildPlate(index);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ScrollView
|
||||
{
|
||||
id: buildPlateSelection
|
||||
frameVisible: true
|
||||
height: UM.Theme.getSize("build_plate_selection_size").height
|
||||
width: parent.width - 2 * UM.Theme.getSize("default_margin").height
|
||||
style: UM.Theme.styles.scrollview
|
||||
|
||||
anchors
|
||||
{
|
||||
top: collapseButton.bottom;
|
||||
topMargin: UM.Theme.getSize("default_margin").height;
|
||||
left: parent.left;
|
||||
leftMargin: UM.Theme.getSize("default_margin").height;
|
||||
//bottom: objectsList.top;
|
||||
bottomMargin: UM.Theme.getSize("default_margin").height;
|
||||
}
|
||||
|
||||
Rectangle
|
||||
{
|
||||
parent: viewport
|
||||
anchors.fill: parent
|
||||
color: palette.light
|
||||
}
|
||||
|
||||
ListView
|
||||
{
|
||||
id: buildPlateListView
|
||||
model: Cura.BuildPlateModel
|
||||
width: parent.width
|
||||
delegate: buildPlateDelegate
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Component {
|
||||
id: objectDelegate
|
||||
Rectangle
|
||||
{
|
||||
height: childrenRect.height
|
||||
color: Cura.ObjectsModel.getItem(index).isSelected ? palette.highlight : index % 2 ? palette.base : palette.alternateBase
|
||||
width: parent.width
|
||||
Label
|
||||
{
|
||||
id: nodeNameLabel
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
||||
width: parent.width - 2 * UM.Theme.getSize("default_margin").width - 30
|
||||
text: Cura.ObjectsModel.getItem(index) ? Cura.ObjectsModel.getItem(index).name : "";
|
||||
color: Cura.ObjectsModel.getItem(index).isSelected ? palette.highlightedText : (Cura.ObjectsModel.getItem(index).isOutsideBuildArea ? palette.mid : palette.text)
|
||||
elide: Text.ElideRight
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
id: buildPlateNumberLabel
|
||||
width: 20
|
||||
anchors.left: nodeNameLabel.right
|
||||
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
||||
anchors.right: parent.right
|
||||
text: Cura.ObjectsModel.getItem(index).buildPlateNumber != -1 ? Cura.ObjectsModel.getItem(index).buildPlateNumber + 1 : "";
|
||||
color: Cura.ObjectsModel.getItem(index).isSelected ? palette.highlightedText : palette.text
|
||||
elide: Text.ElideRight
|
||||
}
|
||||
|
||||
MouseArea
|
||||
{
|
||||
anchors.fill: parent;
|
||||
onClicked:
|
||||
{
|
||||
Cura.SceneController.changeSelection(index);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// list all the scene nodes
|
||||
ScrollView
|
||||
{
|
||||
id: objectsList
|
||||
frameVisible: true
|
||||
visible: !collapsed
|
||||
width: parent.width - 2 * UM.Theme.getSize("default_margin").height
|
||||
|
||||
anchors
|
||||
{
|
||||
top: buildPlateSelection.bottom;
|
||||
topMargin: UM.Theme.getSize("default_margin").height;
|
||||
left: parent.left;
|
||||
leftMargin: UM.Theme.getSize("default_margin").height;
|
||||
bottom: filterBuildPlateCheckbox.top;
|
||||
bottomMargin: UM.Theme.getSize("default_margin").height;
|
||||
}
|
||||
|
||||
Rectangle
|
||||
{
|
||||
parent: viewport
|
||||
anchors.fill: parent
|
||||
color: palette.light
|
||||
}
|
||||
|
||||
ListView
|
||||
{
|
||||
id: listview
|
||||
model: Cura.ObjectsModel
|
||||
width: parent.width
|
||||
delegate: objectDelegate
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
CheckBox
|
||||
{
|
||||
id: filterBuildPlateCheckbox
|
||||
visible: !collapsed
|
||||
checked: UM.Preferences.getValue("view/filter_current_build_plate")
|
||||
onClicked: UM.Preferences.setValue("view/filter_current_build_plate", checked)
|
||||
|
||||
text: catalog.i18nc("@option:check","See only current build plate");
|
||||
style: UM.Theme.styles.checkbox;
|
||||
|
||||
anchors
|
||||
{
|
||||
left: parent.left;
|
||||
topMargin: UM.Theme.getSize("default_margin").height;
|
||||
bottomMargin: UM.Theme.getSize("default_margin").height;
|
||||
leftMargin: UM.Theme.getSize("default_margin").height;
|
||||
bottom: arrangeAllBuildPlatesButton.top;
|
||||
}
|
||||
}
|
||||
|
||||
Button
|
||||
{
|
||||
id: arrangeAllBuildPlatesButton;
|
||||
text: catalog.i18nc("@action:button","Arrange to all build plates");
|
||||
style: UM.Theme.styles.sidebar_action_button
|
||||
height: UM.Theme.getSize("objects_menu_button").height;
|
||||
tooltip: '';
|
||||
anchors
|
||||
{
|
||||
topMargin: UM.Theme.getSize("default_margin").height;
|
||||
left: parent.left;
|
||||
leftMargin: UM.Theme.getSize("default_margin").height;
|
||||
right: parent.right;
|
||||
rightMargin: UM.Theme.getSize("default_margin").height;
|
||||
bottom: arrangeBuildPlateButton.top;
|
||||
bottomMargin: UM.Theme.getSize("default_margin").height;
|
||||
}
|
||||
action: Cura.Actions.arrangeAllBuildPlates;
|
||||
}
|
||||
|
||||
Button
|
||||
{
|
||||
id: arrangeBuildPlateButton;
|
||||
text: catalog.i18nc("@action:button","Arrange current build plate");
|
||||
style: UM.Theme.styles.sidebar_action_button
|
||||
height: UM.Theme.getSize("objects_menu_button").height;
|
||||
tooltip: '';
|
||||
anchors
|
||||
{
|
||||
topMargin: UM.Theme.getSize("default_margin").height;
|
||||
left: parent.left;
|
||||
leftMargin: UM.Theme.getSize("default_margin").height;
|
||||
right: parent.right;
|
||||
rightMargin: UM.Theme.getSize("default_margin").height;
|
||||
bottom: parent.bottom;
|
||||
bottomMargin: UM.Theme.getSize("default_margin").height;
|
||||
}
|
||||
action: Cura.Actions.arrangeAll;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -306,7 +306,7 @@ UM.PreferencesPage
|
|||
text: catalog.i18nc("@option:check","Slice automatically");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Item
|
||||
{
|
||||
//: Spacer
|
||||
|
|
@ -453,6 +453,34 @@ UM.PreferencesPage
|
|||
text: catalog.i18nc("@label","Opening and saving files")
|
||||
}
|
||||
|
||||
UM.TooltipArea {
|
||||
width: childrenRect.width
|
||||
height: childrenRect.height
|
||||
text: catalog.i18nc("@info:tooltip","Use multi build plate functionality (EXPERIMENTAL)")
|
||||
|
||||
CheckBox
|
||||
{
|
||||
id: useMultiBuildPlateCheckbox
|
||||
text: catalog.i18nc("@option:check","Use multi build plate functionality (EXPERIMENTAL, restart)")
|
||||
checked: boolCheck(UM.Preferences.getValue("cura/use_multi_build_plate"))
|
||||
onCheckedChanged: UM.Preferences.setValue("cura/use_multi_build_plate", checked)
|
||||
}
|
||||
}
|
||||
|
||||
UM.TooltipArea {
|
||||
width: childrenRect.width
|
||||
height: childrenRect.height
|
||||
text: catalog.i18nc("@info:tooltip","Should newly loaded models be arranged on the build plate? Used in conjunction with multi build plate (EXPERIMENTAL)")
|
||||
|
||||
CheckBox
|
||||
{
|
||||
id: arrangeOnLoadCheckbox
|
||||
text: catalog.i18nc("@option:check","Arrange objects on load (EXPERIMENTAL)")
|
||||
checked: boolCheck(UM.Preferences.getValue("cura/arrange_objects_on_load"))
|
||||
onCheckedChanged: UM.Preferences.setValue("cura/arrange_objects_on_load", checked)
|
||||
}
|
||||
}
|
||||
|
||||
UM.TooltipArea {
|
||||
width: childrenRect.width
|
||||
height: childrenRect.height
|
||||
|
|
|
|||
|
|
@ -1,18 +1,58 @@
|
|||
// Copyright (c) 2017 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
import QtQuick.Layouts 1.1
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.0
|
||||
|
||||
import UM 1.1 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
Button {
|
||||
id: base;
|
||||
|
||||
style: UM.Theme.styles.sidebar_category;
|
||||
Button
|
||||
{
|
||||
id: base
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.leftMargin: UM.Theme.getSize("sidebar_margin").width
|
||||
anchors.rightMargin: UM.Theme.getSize("sidebar_margin").width
|
||||
background: Rectangle
|
||||
{
|
||||
implicitHeight: UM.Theme.getSize("section").height
|
||||
color: {
|
||||
if (base.color) {
|
||||
return base.color;
|
||||
} else if (!base.enabled) {
|
||||
return UM.Theme.getColor("setting_category_disabled");
|
||||
} else if (base.hovered && base.checkable && base.checked) {
|
||||
return UM.Theme.getColor("setting_category_active_hover");
|
||||
} else if (base.pressed || (base.checkable && base.checked)) {
|
||||
return UM.Theme.getColor("setting_category_active");
|
||||
} else if (base.hovered) {
|
||||
return UM.Theme.getColor("setting_category_hover");
|
||||
} else {
|
||||
return UM.Theme.getColor("setting_category");
|
||||
}
|
||||
}
|
||||
Behavior on color { ColorAnimation { duration: 50; } }
|
||||
Rectangle
|
||||
{
|
||||
height: UM.Theme.getSize("default_lining").height
|
||||
width: parent.width
|
||||
anchors.bottom: parent.bottom
|
||||
color: {
|
||||
if (!base.enabled) {
|
||||
return UM.Theme.getColor("setting_category_disabled_border");
|
||||
} else if ((base.hovered || base.activeFocus) && base.checkable && base.checked) {
|
||||
return UM.Theme.getColor("setting_category_active_hover_border");
|
||||
} else if (base.pressed || (base.checkable && base.checked)) {
|
||||
return UM.Theme.getColor("setting_category_active_border");
|
||||
} else if (base.hovered || base.activeFocus) {
|
||||
return UM.Theme.getColor("setting_category_hover_border");
|
||||
} else {
|
||||
return UM.Theme.getColor("setting_category_border");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
signal showTooltip(string text)
|
||||
signal hideTooltip()
|
||||
|
|
@ -23,20 +63,102 @@ Button {
|
|||
|
||||
property var focusItem: base
|
||||
|
||||
text: definition.label
|
||||
iconSource: UM.Theme.getIcon(definition.icon)
|
||||
//text: definition.label
|
||||
|
||||
contentItem: Item {
|
||||
anchors.fill: parent
|
||||
anchors.left: parent.left
|
||||
|
||||
Label {
|
||||
anchors
|
||||
{
|
||||
left: parent.left
|
||||
leftMargin: 2 * UM.Theme.getSize("default_margin").width + UM.Theme.getSize("section_icon").width
|
||||
right: parent.right;
|
||||
verticalCenter: parent.verticalCenter;
|
||||
}
|
||||
text: definition.label
|
||||
font: UM.Theme.getFont("setting_category")
|
||||
color:
|
||||
{
|
||||
if (!base.enabled) {
|
||||
return UM.Theme.getColor("setting_category_disabled_text");
|
||||
} else if ((base.hovered || base.activeFocus) && base.checkable && base.checked) {
|
||||
return UM.Theme.getColor("setting_category_active_hover_text");
|
||||
} else if (base.pressed || (base.checkable && base.checked)) {
|
||||
return UM.Theme.getColor("setting_category_active_text");
|
||||
} else if (base.hovered || base.activeFocus) {
|
||||
return UM.Theme.getColor("setting_category_hover_text");
|
||||
} else {
|
||||
return UM.Theme.getColor("setting_category_text");
|
||||
}
|
||||
}
|
||||
fontSizeMode: Text.HorizontalFit
|
||||
minimumPointSize: 8
|
||||
}
|
||||
UM.RecolorImage
|
||||
{
|
||||
id: category_arrow
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.right: parent.right
|
||||
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:
|
||||
{
|
||||
if (!base.enabled) {
|
||||
return UM.Theme.getColor("setting_category_disabled_text");
|
||||
} else if ((base.hovered || base.activeFocus) && base.checkable && base.checked) {
|
||||
return UM.Theme.getColor("setting_category_active_hover_text");
|
||||
} else if (base.pressed || (base.checkable && base.checked)) {
|
||||
return UM.Theme.getColor("setting_category_active_text");
|
||||
} else if (base.hovered || base.activeFocus) {
|
||||
return UM.Theme.getColor("setting_category_hover_text");
|
||||
} else {
|
||||
return UM.Theme.getColor("setting_category_text");
|
||||
}
|
||||
}
|
||||
source: base.checked ? UM.Theme.getIcon("arrow_bottom") : UM.Theme.getIcon("arrow_left")
|
||||
}
|
||||
}
|
||||
|
||||
UM.RecolorImage
|
||||
{
|
||||
id: icon
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
||||
color:
|
||||
{
|
||||
if (!base.enabled) {
|
||||
return UM.Theme.getColor("setting_category_disabled_text");
|
||||
} else if((base.hovered || base.activeFocus) && base.checkable && base.checked) {
|
||||
return UM.Theme.getColor("setting_category_active_hover_text");
|
||||
} else if(base.pressed || (base.checkable && base.checked)) {
|
||||
return UM.Theme.getColor("setting_category_active_text");
|
||||
} else if(base.hovered || base.activeFocus) {
|
||||
return UM.Theme.getColor("setting_category_hover_text");
|
||||
} else {
|
||||
return UM.Theme.getColor("setting_category_text");
|
||||
}
|
||||
}
|
||||
source: UM.Theme.getIcon(definition.icon)
|
||||
width: UM.Theme.getSize("section_icon").width;
|
||||
height: UM.Theme.getSize("section_icon").height;
|
||||
sourceSize.width: width + 15 * screenScaleFactor
|
||||
sourceSize.height: width + 15 * screenScaleFactor
|
||||
}
|
||||
|
||||
checkable: true
|
||||
checked: definition.expanded
|
||||
|
||||
onClicked:
|
||||
{
|
||||
if(definition.expanded)
|
||||
{
|
||||
if (definition.expanded) {
|
||||
settingDefinitionsModel.collapse(definition.key);
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
settingDefinitionsModel.expandAll(definition.key);
|
||||
}
|
||||
//Set focus so that tab navigation continues from this point on.
|
||||
|
|
@ -70,13 +192,14 @@ Button {
|
|||
|
||||
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;
|
||||
// use 1.9 as the factor because there is a 0.1 difference between the settings and inheritance warning icons
|
||||
rightMargin: inheritButton.visible ? UM.Theme.getSize("default_margin").width / 2 : category_arrow.width + UM.Theme.getSize("default_margin").width * 1.9
|
||||
verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
color: UM.Theme.getColor("setting_control_button");
|
||||
color: UM.Theme.getColor("setting_control_button")
|
||||
hoverColor: UM.Theme.getColor("setting_control_button_hover")
|
||||
iconSource: UM.Theme.getIcon("settings");
|
||||
iconSource: UM.Theme.getIcon("settings")
|
||||
|
||||
onClicked: {
|
||||
Cura.Actions.configureSettingVisibility.trigger(definition)
|
||||
|
|
@ -85,20 +208,20 @@ Button {
|
|||
|
||||
UM.SimpleButton
|
||||
{
|
||||
id: inheritButton;
|
||||
id: inheritButton
|
||||
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: UM.Theme.getSize("setting_preferences_button_margin").width
|
||||
anchors.rightMargin: category_arrow.width + UM.Theme.getSize("default_margin").width * 2
|
||||
|
||||
visible:
|
||||
{
|
||||
if(Cura.SettingInheritanceManager.settingsWithInheritanceWarning.indexOf(definition.key) >= 0)
|
||||
if (Cura.SettingInheritanceManager.settingsWithInheritanceWarning.indexOf(definition.key) >= 0)
|
||||
{
|
||||
var children_with_override = Cura.SettingInheritanceManager.getChildrenKeysWithOverride(definition.key)
|
||||
for(var i = 0; i < children_with_override.length; i++)
|
||||
for (var i = 0; i < children_with_override.length; i++)
|
||||
{
|
||||
if(!settingDefinitionsModel.getVisible(children_with_override[i]))
|
||||
if (!settingDefinitionsModel.getVisible(children_with_override[i]))
|
||||
{
|
||||
return true
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,9 @@
|
|||
// Copyright (c) 2015 Ultimaker B.V.
|
||||
// Uranium is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.1
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Layouts 1.1
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
import QtQuick.Controls 2.0
|
||||
|
||||
import UM 1.2 as UM
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,8 @@
|
|||
// Copyright (c) 2015 Ultimaker B.V.
|
||||
// Uranium is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.1
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.0
|
||||
|
||||
import UM 1.1 as UM
|
||||
|
||||
|
|
@ -17,95 +16,103 @@ SettingItem
|
|||
id: control
|
||||
|
||||
model: definition.options
|
||||
textRole: "value";
|
||||
textRole: "value"
|
||||
|
||||
anchors.fill: parent
|
||||
|
||||
MouseArea
|
||||
{
|
||||
anchors.fill: parent;
|
||||
acceptedButtons: Qt.NoButton;
|
||||
onWheel: wheel.accepted = true;
|
||||
anchors.fill: parent
|
||||
acceptedButtons: Qt.NoButton
|
||||
onWheel: wheel.accepted = true
|
||||
}
|
||||
|
||||
style: ComboBoxStyle
|
||||
background: Rectangle
|
||||
{
|
||||
background: Rectangle
|
||||
color:
|
||||
{
|
||||
color:
|
||||
{
|
||||
if(!enabled)
|
||||
{
|
||||
return UM.Theme.getColor("setting_control_disabled")
|
||||
}
|
||||
if(control.hovered || control.activeFocus)
|
||||
{
|
||||
return UM.Theme.getColor("setting_control_highlight")
|
||||
}
|
||||
return UM.Theme.getColor("setting_control")
|
||||
if (!enabled) {
|
||||
return UM.Theme.getColor("setting_control_disabled")
|
||||
}
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
border.color:
|
||||
{
|
||||
if(!enabled)
|
||||
{
|
||||
return UM.Theme.getColor("setting_control_disabled_border")
|
||||
}
|
||||
if(control.hovered || control.activeFocus)
|
||||
{
|
||||
return UM.Theme.getColor("setting_control_border_highlight")
|
||||
}
|
||||
return UM.Theme.getColor("setting_control_border")
|
||||
|
||||
if (control.hovered || control.activeFocus) {
|
||||
return UM.Theme.getColor("setting_control_highlight")
|
||||
}
|
||||
|
||||
return UM.Theme.getColor("setting_control")
|
||||
}
|
||||
label: Item
|
||||
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
border.color:
|
||||
{
|
||||
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;
|
||||
if (!enabled) {
|
||||
return UM.Theme.getColor("setting_control_disabled_border")
|
||||
}
|
||||
|
||||
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 * screenScaleFactor
|
||||
sourceSize.height: width + 5 * screenScaleFactor
|
||||
|
||||
color: UM.Theme.getColor("setting_control_text");
|
||||
|
||||
if (control.hovered || control.activeFocus) {
|
||||
return UM.Theme.getColor("setting_control_border_highlight")
|
||||
}
|
||||
|
||||
return UM.Theme.getColor("setting_control_border")
|
||||
}
|
||||
}
|
||||
|
||||
indicator: UM.RecolorImage
|
||||
{
|
||||
id: downArrow
|
||||
x: control.width - width - control.rightPadding
|
||||
y: control.topPadding + (control.availableHeight - height) / 2
|
||||
|
||||
source: UM.Theme.getIcon("arrow_bottom")
|
||||
width: UM.Theme.getSize("standard_arrow").width
|
||||
height: UM.Theme.getSize("standard_arrow").height
|
||||
sourceSize.width: width + 5 * screenScaleFactor
|
||||
sourceSize.height: width + 5 * screenScaleFactor
|
||||
|
||||
color: UM.Theme.getColor("setting_control_text")
|
||||
}
|
||||
|
||||
contentItem: Label
|
||||
{
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.getSize("setting_unit_margin").width
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.right: downArrow.left
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
delegate: ItemDelegate
|
||||
{
|
||||
width: control.width
|
||||
height: control.height
|
||||
highlighted: control.highlightedIndex == index
|
||||
|
||||
contentItem: Text
|
||||
{
|
||||
text: modelData.value
|
||||
color: control.contentItem.color
|
||||
font: UM.Theme.getFont("default")
|
||||
elide: Text.ElideRight
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
}
|
||||
}
|
||||
|
||||
onActivated:
|
||||
{
|
||||
forceActiveFocus();
|
||||
propertyProvider.setPropertyValue("value", definition.options[index].key);
|
||||
forceActiveFocus()
|
||||
propertyProvider.setPropertyValue("value", definition.options[index].key)
|
||||
}
|
||||
|
||||
onActiveFocusChanged:
|
||||
{
|
||||
if(activeFocus)
|
||||
{
|
||||
base.focusReceived();
|
||||
base.focusReceived()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -113,6 +120,7 @@ SettingItem
|
|||
{
|
||||
base.setActiveFocusToNextSetting(true)
|
||||
}
|
||||
|
||||
Keys.onBacktabPressed:
|
||||
{
|
||||
base.setActiveFocusToNextSetting(false)
|
||||
|
|
@ -126,16 +134,14 @@ SettingItem
|
|||
{
|
||||
// FIXME this needs to go away once 'resolve' is combined with 'value' in our data model.
|
||||
var value = undefined;
|
||||
if ((base.resolve != "None") && (base.stackLevel != 0) && (base.stackLevel != 1))
|
||||
{
|
||||
if ((base.resolve != "None") && (base.stackLevel != 0) && (base.stackLevel != 1)) {
|
||||
// We have a resolve function. Indicates that the setting is not settable per extruder and that
|
||||
// we have to choose between the resolved value (default) and the global value
|
||||
// (if user has explicitly set this).
|
||||
value = base.resolve;
|
||||
}
|
||||
|
||||
if (value == undefined)
|
||||
{
|
||||
if (value == undefined) {
|
||||
value = propertyProvider.properties.value;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,8 @@
|
|||
// Copyright (c) 2016 Ultimaker B.V.
|
||||
// Uranium is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.1
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.0
|
||||
|
||||
import UM 1.1 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
|
@ -65,83 +64,101 @@ SettingItem
|
|||
value: control.currentText != "" ? control.model.getItem(control.currentIndex).color : ""
|
||||
}
|
||||
|
||||
style: ComboBoxStyle
|
||||
indicator: UM.RecolorImage
|
||||
{
|
||||
background: Rectangle
|
||||
id: downArrow
|
||||
x: control.width - width - control.rightPadding
|
||||
y: control.topPadding + (control.availableHeight - height) / 2
|
||||
|
||||
source: UM.Theme.getIcon("arrow_bottom")
|
||||
width: UM.Theme.getSize("standard_arrow").width
|
||||
height: UM.Theme.getSize("standard_arrow").height
|
||||
sourceSize.width: width + 5 * screenScaleFactor
|
||||
sourceSize.height: width + 5 * screenScaleFactor
|
||||
|
||||
color: UM.Theme.getColor("setting_control_text");
|
||||
}
|
||||
|
||||
background: Rectangle
|
||||
{
|
||||
color:
|
||||
{
|
||||
color:
|
||||
if (!enabled)
|
||||
{
|
||||
if(!enabled)
|
||||
{
|
||||
return UM.Theme.getColor("setting_control_disabled");
|
||||
}
|
||||
if(control.hovered || base.activeFocus)
|
||||
{
|
||||
return UM.Theme.getColor("setting_control_highlight");
|
||||
}
|
||||
return UM.Theme.getColor("setting_control");
|
||||
return UM.Theme.getColor("setting_control_disabled");
|
||||
}
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
border.color:
|
||||
if (control.hovered || base.activeFocus)
|
||||
{
|
||||
if(!enabled)
|
||||
{
|
||||
return UM.Theme.getColor("setting_control_disabled_border")
|
||||
}
|
||||
if(control.hovered || control.activeFocus)
|
||||
{
|
||||
return UM.Theme.getColor("setting_control_border_highlight")
|
||||
}
|
||||
return UM.Theme.getColor("setting_control_border")
|
||||
return UM.Theme.getColor("setting_control_highlight");
|
||||
}
|
||||
return UM.Theme.getColor("setting_control");
|
||||
}
|
||||
label: Item
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
border.color:
|
||||
{
|
||||
Label
|
||||
if (!enabled)
|
||||
{
|
||||
id: extruderText
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
|
||||
text: control.currentText
|
||||
font: UM.Theme.getFont("default")
|
||||
color: enabled ? UM.Theme.getColor("setting_control_text") : UM.Theme.getColor("setting_control_disabled_text")
|
||||
|
||||
elide: Text.ElideLeft
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
return UM.Theme.getColor("setting_control_disabled_border")
|
||||
}
|
||||
Rectangle
|
||||
if (control.hovered || control.activeFocus)
|
||||
{
|
||||
id: swatch
|
||||
height: UM.Theme.getSize("setting_control").height / 2
|
||||
width: height
|
||||
|
||||
anchors
|
||||
{
|
||||
right: arrow.left
|
||||
verticalCenter: parent.verticalCenter
|
||||
margins: UM.Theme.getSize("default_margin").width / 4
|
||||
}
|
||||
|
||||
border.width: UM.Theme.getSize("default_lining").width * 2
|
||||
border.color: enabled ? UM.Theme.getColor("setting_control_border") : UM.Theme.getColor("setting_control_disabled_border")
|
||||
radius: width / 2
|
||||
|
||||
color: control.color
|
||||
return UM.Theme.getColor("setting_control_border_highlight")
|
||||
}
|
||||
UM.RecolorImage
|
||||
{
|
||||
id: arrow
|
||||
anchors.right: parent.right
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
return UM.Theme.getColor("setting_control_border")
|
||||
}
|
||||
}
|
||||
|
||||
source: UM.Theme.getIcon("arrow_bottom")
|
||||
width: UM.Theme.getSize("standard_arrow").width
|
||||
height: UM.Theme.getSize("standard_arrow").height
|
||||
sourceSize.width: width + 5 * screenScaleFactor
|
||||
sourceSize.height: width + 5 * screenScaleFactor
|
||||
contentItem: Item
|
||||
{
|
||||
Label
|
||||
{
|
||||
id: extruderText
|
||||
|
||||
color: UM.Theme.getColor("setting_control_text")
|
||||
}
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.getSize("setting_unit_margin").width
|
||||
anchors.right: swatch.left
|
||||
|
||||
text: control.currentText
|
||||
font: UM.Theme.getFont("default")
|
||||
color: enabled ? UM.Theme.getColor("setting_control_text") : UM.Theme.getColor("setting_control_disabled_text")
|
||||
|
||||
elide: Text.ElideLeft
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
}
|
||||
|
||||
Rectangle
|
||||
{
|
||||
id: swatch
|
||||
height: UM.Theme.getSize("setting_control").height / 2
|
||||
width: height
|
||||
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: downArrow.width + UM.Theme.getSize("setting_unit_margin").width
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.margins: UM.Theme.getSize("default_margin").width / 4
|
||||
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
border.color: enabled ? UM.Theme.getColor("setting_control_border") : UM.Theme.getColor("setting_control_disabled_border")
|
||||
radius: width / 2
|
||||
|
||||
color: control.color
|
||||
}
|
||||
}
|
||||
|
||||
delegate: ItemDelegate
|
||||
{
|
||||
width: control.width
|
||||
height: control.height
|
||||
highlighted: control.highlightedIndex == index
|
||||
|
||||
contentItem: Text
|
||||
{
|
||||
text: model.name
|
||||
color: UM.Theme.getColor("setting_control_text")
|
||||
font: UM.Theme.getFont("default")
|
||||
elide: Text.ElideRight
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,9 @@
|
|||
// Copyright (c) 2017 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.1
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Layouts 1.1
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
import QtQuick.Controls 2.0
|
||||
|
||||
import UM 1.1 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
|
|
|||
|
|
@ -1,9 +1,8 @@
|
|||
// Copyright (c) 2016 Ultimaker B.V.
|
||||
// Uranium is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.1
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.0
|
||||
|
||||
import UM 1.1 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
|
@ -84,83 +83,101 @@ SettingItem
|
|||
value: control.currentText != "" ? control.model.getItem(control.currentIndex).color : ""
|
||||
}
|
||||
|
||||
style: ComboBoxStyle
|
||||
indicator: UM.RecolorImage
|
||||
{
|
||||
background: Rectangle
|
||||
id: downArrow
|
||||
x: control.width - width - control.rightPadding
|
||||
y: control.topPadding + (control.availableHeight - height) / 2
|
||||
|
||||
source: UM.Theme.getIcon("arrow_bottom")
|
||||
width: UM.Theme.getSize("standard_arrow").width
|
||||
height: UM.Theme.getSize("standard_arrow").height
|
||||
sourceSize.width: width + 5 * screenScaleFactor
|
||||
sourceSize.height: width + 5 * screenScaleFactor
|
||||
|
||||
color: UM.Theme.getColor("setting_control_text");
|
||||
}
|
||||
|
||||
background: Rectangle
|
||||
{
|
||||
color:
|
||||
{
|
||||
color:
|
||||
if (!enabled)
|
||||
{
|
||||
if(!enabled)
|
||||
{
|
||||
return UM.Theme.getColor("setting_control_disabled");
|
||||
}
|
||||
if(control.hovered || control.activeFocus)
|
||||
{
|
||||
return UM.Theme.getColor("setting_control_highlight");
|
||||
}
|
||||
return UM.Theme.getColor("setting_control");
|
||||
return UM.Theme.getColor("setting_control_disabled");
|
||||
}
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
border.color:
|
||||
if (control.hovered || control.activeFocus)
|
||||
{
|
||||
if(!enabled)
|
||||
{
|
||||
return UM.Theme.getColor("setting_control_disabled_border")
|
||||
}
|
||||
if(control.hovered || control.activeFocus)
|
||||
{
|
||||
return UM.Theme.getColor("setting_control_border_highlight")
|
||||
}
|
||||
return UM.Theme.getColor("setting_control_border")
|
||||
return UM.Theme.getColor("setting_control_highlight");
|
||||
}
|
||||
return UM.Theme.getColor("setting_control");
|
||||
}
|
||||
label: Item
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
border.color:
|
||||
{
|
||||
Label
|
||||
if (!enabled)
|
||||
{
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
width: parent.width - swatch.width - arrow.width;
|
||||
|
||||
text: control.currentText
|
||||
font: UM.Theme.getFont("default")
|
||||
color: enabled ? UM.Theme.getColor("setting_control_text") : UM.Theme.getColor("setting_control_disabled_text")
|
||||
|
||||
elide: Text.ElideRight
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
return UM.Theme.getColor("setting_control_disabled_border")
|
||||
}
|
||||
Rectangle
|
||||
if (control.hovered || control.activeFocus)
|
||||
{
|
||||
id: swatch
|
||||
height: UM.Theme.getSize("setting_control").height / 2
|
||||
width: height
|
||||
|
||||
anchors
|
||||
{
|
||||
right: arrow.left;
|
||||
verticalCenter: parent.verticalCenter
|
||||
margins: UM.Theme.getSize("default_margin").width / 4
|
||||
}
|
||||
|
||||
border.width: UM.Theme.getSize("default_lining").width * 2
|
||||
border.color: enabled ? UM.Theme.getColor("setting_control_border") : UM.Theme.getColor("setting_control_disabled_border")
|
||||
radius: width / 2
|
||||
|
||||
color: control.color
|
||||
return UM.Theme.getColor("setting_control_border_highlight")
|
||||
}
|
||||
UM.RecolorImage
|
||||
{
|
||||
id: arrow
|
||||
anchors.right: parent.right
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
return UM.Theme.getColor("setting_control_border")
|
||||
}
|
||||
}
|
||||
|
||||
source: UM.Theme.getIcon("arrow_bottom")
|
||||
width: UM.Theme.getSize("standard_arrow").width
|
||||
height: UM.Theme.getSize("standard_arrow").height
|
||||
sourceSize.width: width + 5 * screenScaleFactor
|
||||
sourceSize.height: width + 5 * screenScaleFactor
|
||||
contentItem: Item
|
||||
{
|
||||
Label
|
||||
{
|
||||
id: extruderText
|
||||
|
||||
color: UM.Theme.getColor("setting_control_text")
|
||||
}
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.getSize("setting_unit_margin").width
|
||||
anchors.right: swatch.left
|
||||
|
||||
text: control.currentText
|
||||
font: UM.Theme.getFont("default")
|
||||
color: enabled ? UM.Theme.getColor("setting_control_text") : UM.Theme.getColor("setting_control_disabled_text")
|
||||
|
||||
elide: Text.ElideRight
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
}
|
||||
|
||||
Rectangle
|
||||
{
|
||||
id: swatch
|
||||
height: UM.Theme.getSize("setting_control").height / 2
|
||||
width: height
|
||||
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: downArrow.width + UM.Theme.getSize("setting_unit_margin").width
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.margins: UM.Theme.getSize("default_margin").width / 4
|
||||
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
border.color: enabled ? UM.Theme.getColor("setting_control_border") : UM.Theme.getColor("setting_control_disabled_border")
|
||||
radius: width / 2
|
||||
|
||||
color: control.color
|
||||
}
|
||||
}
|
||||
|
||||
delegate: ItemDelegate
|
||||
{
|
||||
width: control.width
|
||||
height: control.height
|
||||
highlighted: control.highlightedIndex == index
|
||||
|
||||
contentItem: Text
|
||||
{
|
||||
text: model.name
|
||||
color: UM.Theme.getColor("setting_control_text")
|
||||
font: UM.Theme.getFont("default")
|
||||
elide: Text.ElideRight
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
// Copyright (c) 2017 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.2
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.0
|
||||
|
||||
import UM 1.1 as UM
|
||||
|
||||
|
|
@ -17,6 +17,7 @@ SettingItem
|
|||
{
|
||||
textHasChanged = false;
|
||||
textBeforeEdit = focusItem.text;
|
||||
focusItem.selectAll();
|
||||
}
|
||||
|
||||
contents: Rectangle
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
// Copyright (c) 2015 Ultimaker B.V.
|
||||
// Uranium is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.1
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.0
|
||||
|
||||
import UM 1.2 as UM
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
// Copyright (c) 2017 Ultimaker B.V.
|
||||
// Uranium is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
import QtQuick.Layouts 1.1
|
||||
|
|
@ -372,7 +372,7 @@ Item
|
|||
{
|
||||
id: provider
|
||||
|
||||
containerStackId: Cura.ExtruderManager.activeExtruderStackId
|
||||
containerStackId: Cura.MachineManager.activeMachineId
|
||||
key: model.key ? model.key : ""
|
||||
watchedProperties: [ "value", "enabled", "state", "validationState", "settable_per_extruder", "resolve" ]
|
||||
storeIndex: 0
|
||||
|
|
|
|||
|
|
@ -1,10 +1,9 @@
|
|||
// Copyright (c) 2017 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
import QtQuick.Layouts 1.1
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.0
|
||||
import QtQuick.Layouts 1.3
|
||||
|
||||
import UM 1.2 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
|
@ -12,9 +11,9 @@ import "Menus"
|
|||
|
||||
Rectangle
|
||||
{
|
||||
id: base;
|
||||
id: base
|
||||
|
||||
property int currentModeIndex;
|
||||
property int currentModeIndex
|
||||
property bool hideSettings: PrintInformation.preSliced
|
||||
property bool hideView: Cura.MachineManager.activeMachineName == ""
|
||||
|
||||
|
|
@ -78,7 +77,7 @@ Rectangle
|
|||
MouseArea
|
||||
{
|
||||
anchors.fill: parent
|
||||
acceptedButtons: Qt.AllButtons;
|
||||
acceptedButtons: Qt.AllButtons
|
||||
|
||||
onWheel:
|
||||
{
|
||||
|
|
@ -119,13 +118,14 @@ Rectangle
|
|||
UM.Preferences.setValue("cura/active_mode", currentModeIndex);
|
||||
if(modesListModel.count > base.currentModeIndex)
|
||||
{
|
||||
sidebarContents.push({ "item": modesListModel.get(base.currentModeIndex).item, "replace": true });
|
||||
sidebarContents.replace(modesListModel.get(base.currentModeIndex).item, { "replace": true })
|
||||
}
|
||||
}
|
||||
|
||||
Label {
|
||||
Label
|
||||
{
|
||||
id: settingsModeLabel
|
||||
text: !hideSettings ? catalog.i18nc("@label:listbox", "Print Setup") : catalog.i18nc("@label:listbox","Print Setup disabled\nG-code files cannot be modified");
|
||||
text: !hideSettings ? catalog.i18nc("@label:listbox", "Print Setup") : catalog.i18nc("@label:listbox", "Print Setup disabled\nG-code files cannot be modified")
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.getSize("sidebar_margin").width
|
||||
anchors.top: headerSeparator.bottom
|
||||
|
|
@ -136,13 +136,18 @@ Rectangle
|
|||
visible: !monitoringPrint && !hideView
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
// Settings mode selection toggle
|
||||
Rectangle
|
||||
{
|
||||
id: settingsModeSelection
|
||||
color: "transparent"
|
||||
|
||||
width: Math.floor(parent.width * 0.55)
|
||||
height: UM.Theme.getSize("sidebar_header_mode_toggle").height
|
||||
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: UM.Theme.getSize("sidebar_margin").width
|
||||
anchors.topMargin: UM.Theme.getSize("sidebar_margin").height
|
||||
anchors.top:
|
||||
{
|
||||
if (settingsModeLabel.contentWidth >= parent.width - width - UM.Theme.getSize("sidebar_margin").width * 2)
|
||||
|
|
@ -154,66 +159,69 @@ Rectangle
|
|||
return headerSeparator.bottom;
|
||||
}
|
||||
}
|
||||
anchors.topMargin: UM.Theme.getSize("sidebar_margin").height
|
||||
|
||||
visible: !monitoringPrint && !hideSettings && !hideView
|
||||
Component{
|
||||
|
||||
Component
|
||||
{
|
||||
id: wizardDelegate
|
||||
Button {
|
||||
|
||||
Button
|
||||
{
|
||||
id: control
|
||||
|
||||
height: settingsModeSelection.height
|
||||
width: Math.floor(0.5 * parent.width)
|
||||
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: model.index * Math.floor(settingsModeSelection.width / 2)
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
width: Math.floor(0.5 * parent.width)
|
||||
text: model.text
|
||||
exclusiveGroup: modeMenuGroup;
|
||||
checkable: true;
|
||||
|
||||
ButtonGroup.group: modeMenuGroup
|
||||
|
||||
checkable: true
|
||||
checked: base.currentModeIndex == index
|
||||
onClicked: base.currentModeIndex = index
|
||||
|
||||
onHoveredChanged: {
|
||||
onHoveredChanged:
|
||||
{
|
||||
if (hovered)
|
||||
{
|
||||
tooltipDelayTimer.item = settingsModeSelection
|
||||
tooltipDelayTimer.text = model.tooltipText
|
||||
tooltipDelayTimer.start();
|
||||
tooltipDelayTimer.start()
|
||||
}
|
||||
else
|
||||
{
|
||||
tooltipDelayTimer.stop();
|
||||
base.hideTooltip();
|
||||
tooltipDelayTimer.stop()
|
||||
base.hideTooltip()
|
||||
}
|
||||
}
|
||||
|
||||
style: ButtonStyle {
|
||||
background: Rectangle {
|
||||
border.width: control.checked ? UM.Theme.getSize("default_lining").width * 2 : UM.Theme.getSize("default_lining").width
|
||||
border.color: (control.checked || control.pressed) ? UM.Theme.getColor("action_button_active_border") :
|
||||
control.hovered ? UM.Theme.getColor("action_button_hovered_border") :
|
||||
UM.Theme.getColor("action_button_border")
|
||||
color: (control.checked || control.pressed) ? UM.Theme.getColor("action_button_active") :
|
||||
control.hovered ? UM.Theme.getColor("action_button_hovered") :
|
||||
UM.Theme.getColor("action_button")
|
||||
Behavior on color { ColorAnimation { duration: 50; } }
|
||||
Label {
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.leftMargin: UM.Theme.getSize("default_lining").width * 2
|
||||
anchors.rightMargin: UM.Theme.getSize("default_lining").width * 2
|
||||
color: (control.checked || control.pressed) ? UM.Theme.getColor("action_button_active_text") :
|
||||
control.hovered ? UM.Theme.getColor("action_button_hovered_text") :
|
||||
UM.Theme.getColor("action_button_text")
|
||||
font: UM.Theme.getFont("default")
|
||||
text: control.text
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
elide: Text.ElideMiddle
|
||||
}
|
||||
}
|
||||
label: Item { }
|
||||
background: Rectangle
|
||||
{
|
||||
border.width: control.checked ? UM.Theme.getSize("default_lining").width * 2 : UM.Theme.getSize("default_lining").width
|
||||
border.color: (control.checked || control.pressed) ? UM.Theme.getColor("action_button_active_border") : control.hovered ? UM.Theme.getColor("action_button_hovered_border"): UM.Theme.getColor("action_button_border")
|
||||
|
||||
// for some reason, QtQuick decided to use the color of the background property as text color for the contentItem, so here it is
|
||||
color: (control.checked || control.pressed) ? UM.Theme.getColor("action_button_active") : control.hovered ? UM.Theme.getColor("action_button_hovered") : UM.Theme.getColor("action_button")
|
||||
}
|
||||
|
||||
contentItem: Text
|
||||
{
|
||||
text: model.text
|
||||
font: UM.Theme.getFont("default")
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
elide: Text.ElideRight
|
||||
}
|
||||
}
|
||||
}
|
||||
ExclusiveGroup { id: modeMenuGroup; }
|
||||
|
||||
ButtonGroup
|
||||
{
|
||||
id: modeMenuGroup
|
||||
}
|
||||
|
||||
ListView
|
||||
{
|
||||
|
|
@ -238,31 +246,21 @@ Rectangle
|
|||
anchors.right: base.right
|
||||
visible: !monitoringPrint && !hideSettings
|
||||
|
||||
delegate: StackViewDelegate
|
||||
{
|
||||
function transitionFinished(properties)
|
||||
{
|
||||
properties.exitItem.opacity = 1
|
||||
replaceEnter: Transition {
|
||||
PropertyAnimation {
|
||||
property: "opacity"
|
||||
from: 0
|
||||
to:1
|
||||
duration: 100
|
||||
}
|
||||
}
|
||||
|
||||
pushTransition: StackViewTransition
|
||||
{
|
||||
PropertyAnimation
|
||||
{
|
||||
target: enterItem
|
||||
property: "opacity"
|
||||
from: 0
|
||||
to: 1
|
||||
duration: 100
|
||||
}
|
||||
PropertyAnimation
|
||||
{
|
||||
target: exitItem
|
||||
property: "opacity"
|
||||
from: 1
|
||||
to: 0
|
||||
duration: 100
|
||||
}
|
||||
replaceExit: Transition {
|
||||
PropertyAnimation {
|
||||
property: "opacity"
|
||||
from: 1
|
||||
to:0
|
||||
duration: 100
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -559,19 +557,19 @@ Rectangle
|
|||
|
||||
SidebarTooltip
|
||||
{
|
||||
id: tooltip;
|
||||
id: tooltip
|
||||
}
|
||||
|
||||
// Setting mode: Recommended or Custom
|
||||
ListModel
|
||||
{
|
||||
id: modesListModel;
|
||||
id: modesListModel
|
||||
}
|
||||
|
||||
SidebarSimple
|
||||
{
|
||||
id: sidebarSimple;
|
||||
visible: false;
|
||||
id: sidebarSimple
|
||||
visible: false
|
||||
|
||||
onShowTooltip: base.showTooltip(item, location, text)
|
||||
onHideTooltip: base.hideTooltip()
|
||||
|
|
@ -579,8 +577,8 @@ Rectangle
|
|||
|
||||
SidebarAdvanced
|
||||
{
|
||||
id: sidebarAdvanced;
|
||||
visible: false;
|
||||
id: sidebarAdvanced
|
||||
visible: false
|
||||
|
||||
onShowTooltip: base.showTooltip(item, location, text)
|
||||
onHideTooltip: base.hideTooltip()
|
||||
|
|
@ -598,7 +596,7 @@ Rectangle
|
|||
tooltipText: catalog.i18nc("@tooltip", "<b>Custom Print Setup</b><br/><br/>Print with finegrained control over every last bit of the slicing process."),
|
||||
item: sidebarAdvanced
|
||||
})
|
||||
sidebarContents.push({ "item": modesListModel.get(base.currentModeIndex).item, "immediate": true });
|
||||
sidebarContents.replace(modesListModel.get(base.currentModeIndex).item, { "immediate": true })
|
||||
|
||||
var index = Math.floor(UM.Preferences.getValue("cura/active_mode"))
|
||||
if(index)
|
||||
|
|
|
|||
|
|
@ -1,9 +1,8 @@
|
|||
// Copyright (c) 2015 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.0
|
||||
|
||||
import QtQuick.Controls 1.2
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.0
|
||||
|
||||
import "Settings"
|
||||
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
// Copyright (c) 2017 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
import QtQuick.Layouts 1.1
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 1.4
|
||||
import QtQuick.Controls.Styles 1.4
|
||||
import QtQuick.Layouts 1.3
|
||||
|
||||
import UM 1.2 as UM
|
||||
import Cura 1.2 as Cura
|
||||
|
||||
Item
|
||||
{
|
||||
id: base;
|
||||
id: base
|
||||
|
||||
signal showTooltip(Item item, point location, string text);
|
||||
signal hideTooltip();
|
||||
|
|
@ -70,6 +70,18 @@ Item
|
|||
onActiveVariantChanged: qualityModel.update()
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: base
|
||||
onVisibleChanged:
|
||||
{
|
||||
// update needs to be called when the widgets are visible, otherwise the step width calculation
|
||||
// will fail because the width of an invisible item is 0.
|
||||
if (visible) {
|
||||
qualityModel.update();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ListModel
|
||||
{
|
||||
id: qualityModel
|
||||
|
|
@ -103,7 +115,7 @@ Item
|
|||
if (Cura.SimpleModeSettingsManager.isProfileUserCreated) {
|
||||
qualityModel.qualitySliderActiveIndex = -1
|
||||
} else {
|
||||
qualityModel.qualitySliderActiveIndex = i
|
||||
qualityModel.qualitySliderActiveIndex = i
|
||||
}
|
||||
|
||||
qualityModel.existingQualityProfile = 1
|
||||
|
|
@ -183,11 +195,10 @@ Item
|
|||
text:
|
||||
{
|
||||
var result = ""
|
||||
if(Cura.MachineManager.activeMachine != null){
|
||||
if (Cura.MachineManager.activeMachine != null) {
|
||||
result = Cura.ProfilesModel.getItem(index).layer_height_without_unit
|
||||
|
||||
var result = Cura.ProfilesModel.getItem(index).layer_height_without_unit
|
||||
|
||||
if(result == undefined)
|
||||
if (result == undefined)
|
||||
result = ""
|
||||
}
|
||||
return result
|
||||
|
|
|
|||
|
|
@ -116,10 +116,8 @@ Rectangle
|
|||
iconSource: UM.Theme.getIcon("view_3d")
|
||||
style: UM.Theme.styles.small_tool_button
|
||||
anchors.verticalCenter: viewOrientationControl.verticalCenter
|
||||
onClicked:{
|
||||
UM.Controller.rotateView("3d", 0);
|
||||
}
|
||||
visible: base.width - allItemsWidth - 4 * this.width > 0;
|
||||
onClicked:UM.Controller.rotateView("3d", 0)
|
||||
visible: base.width - allItemsWidth - 4 * this.width > 0
|
||||
}
|
||||
|
||||
// #2 Front view
|
||||
|
|
@ -128,10 +126,8 @@ Rectangle
|
|||
iconSource: UM.Theme.getIcon("view_front")
|
||||
style: UM.Theme.styles.small_tool_button
|
||||
anchors.verticalCenter: viewOrientationControl.verticalCenter
|
||||
onClicked:{
|
||||
UM.Controller.rotateView("home", 0);
|
||||
}
|
||||
visible: base.width - allItemsWidth - 3 * this.width > 0;
|
||||
onClicked: UM.Controller.rotateView("home", 0);
|
||||
visible: base.width - allItemsWidth - 3 * this.width > 0
|
||||
}
|
||||
|
||||
// #3 Top view
|
||||
|
|
@ -140,10 +136,8 @@ Rectangle
|
|||
iconSource: UM.Theme.getIcon("view_top")
|
||||
style: UM.Theme.styles.small_tool_button
|
||||
anchors.verticalCenter: viewOrientationControl.verticalCenter
|
||||
onClicked:{
|
||||
UM.Controller.rotateView("y", 90);
|
||||
}
|
||||
visible: base.width - allItemsWidth - 2 * this.width > 0;
|
||||
onClicked: UM.Controller.rotateView("y", 90)
|
||||
visible: base.width - allItemsWidth - 2 * this.width > 0
|
||||
}
|
||||
|
||||
// #4 Left view
|
||||
|
|
@ -152,10 +146,8 @@ Rectangle
|
|||
iconSource: UM.Theme.getIcon("view_left")
|
||||
style: UM.Theme.styles.small_tool_button
|
||||
anchors.verticalCenter: viewOrientationControl.verticalCenter
|
||||
onClicked:{
|
||||
UM.Controller.rotateView("x", 90);
|
||||
}
|
||||
visible: base.width - allItemsWidth - 1 * this.width > 0;
|
||||
onClicked: UM.Controller.rotateView("x", 90)
|
||||
visible: base.width - allItemsWidth - 1 * this.width > 0
|
||||
}
|
||||
|
||||
// #5 Left view
|
||||
|
|
@ -164,10 +156,8 @@ Rectangle
|
|||
iconSource: UM.Theme.getIcon("view_right")
|
||||
style: UM.Theme.styles.small_tool_button
|
||||
anchors.verticalCenter: viewOrientationControl.verticalCenter
|
||||
onClicked:{
|
||||
UM.Controller.rotateView("x", -90);
|
||||
}
|
||||
visible: base.width - allItemsWidth > 0;
|
||||
onClicked: UM.Controller.rotateView("x", -90)
|
||||
visible: base.width - allItemsWidth > 0
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,60 @@
|
|||
[general]
|
||||
version = 2
|
||||
name = Draft
|
||||
definition = anycubic_i3_mega
|
||||
|
||||
[metadata]
|
||||
type = quality
|
||||
quality_type = draft
|
||||
weight = 0
|
||||
setting_version = 4
|
||||
|
||||
[values]
|
||||
acceleration_enabled = True
|
||||
acceleration_print = 2000
|
||||
acceleration_travel = 3500
|
||||
adhesion_type = skirt
|
||||
brim_width = 4.0
|
||||
cool_fan_full_at_height = 0.5
|
||||
cool_fan_speed = 100
|
||||
cool_fan_speed_0 = 100
|
||||
infill_overlap = 15
|
||||
infill_pattern = zigzag
|
||||
infill_sparse_density = 25
|
||||
initial_layer_line_width_factor = 140
|
||||
jerk_enabled = True
|
||||
jerk_print = 13
|
||||
jerk_travel = 13
|
||||
layer_height = 0.4
|
||||
layer_height_0 = 0.4
|
||||
material_bed_temperature = 60
|
||||
material_diameter = 1.75
|
||||
material_print_temperature = 200
|
||||
material_print_temperature_layer_0 = 0
|
||||
retract_at_layer_change = False
|
||||
retraction_amount = 7
|
||||
retraction_hop = 0.075
|
||||
retraction_hop_enabled = True
|
||||
retraction_hop_only_when_collides = True
|
||||
retraction_min_travel = 1.5
|
||||
retraction_speed = 40
|
||||
skirt_brim_speed = 40
|
||||
skirt_gap = 5
|
||||
skirt_line_count = 3
|
||||
speed_infill = 60
|
||||
speed_print = 60
|
||||
speed_support = 60
|
||||
speed_topbottom = 30
|
||||
speed_travel = 100
|
||||
speed_wall = 60
|
||||
speed_wall_x = 60
|
||||
support_angle = 60
|
||||
support_enable = True
|
||||
support_interface_enable = True
|
||||
support_pattern = triangles
|
||||
support_roof_enable = True
|
||||
support_type = everywhere
|
||||
support_use_towers = False
|
||||
support_xy_distance = 0.7
|
||||
top_bottom_thickness = 1.2
|
||||
wall_thickness = 1.2
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
[general]
|
||||
version = 2
|
||||
name = High
|
||||
definition = anycubic_i3_mega
|
||||
|
||||
[metadata]
|
||||
type = quality
|
||||
quality_type = high
|
||||
weight = 2
|
||||
setting_version = 4
|
||||
|
||||
[values]
|
||||
acceleration_enabled = True
|
||||
acceleration_print = 2000
|
||||
acceleration_travel = 3500
|
||||
adhesion_type = skirt
|
||||
brim_width = 4.0
|
||||
cool_fan_full_at_height = 0.5
|
||||
cool_fan_speed = 100
|
||||
cool_fan_speed_0 = 100
|
||||
infill_overlap = 15
|
||||
infill_pattern = zigzag
|
||||
infill_sparse_density = 25
|
||||
initial_layer_line_width_factor = 140
|
||||
jerk_enabled = True
|
||||
jerk_print = 13
|
||||
jerk_travel = 13
|
||||
layer_height = 0.1
|
||||
layer_height_0 = 0.1
|
||||
material_bed_temperature = 60
|
||||
material_diameter = 1.75
|
||||
material_print_temperature = 200
|
||||
material_print_temperature_layer_0 = 0
|
||||
retract_at_layer_change = False
|
||||
retraction_amount = 7
|
||||
retraction_hop = 0.075
|
||||
retraction_hop_enabled = True
|
||||
retraction_hop_only_when_collides = True
|
||||
retraction_min_travel = 1.5
|
||||
retraction_speed = 40
|
||||
skirt_brim_speed = 40
|
||||
skirt_gap = 5
|
||||
skirt_line_count = 3
|
||||
speed_infill = 50
|
||||
speed_print = 50
|
||||
speed_support = 30
|
||||
speed_topbottom = 20
|
||||
speed_travel = 50
|
||||
speed_wall = 50
|
||||
speed_wall_x = 50
|
||||
support_angle = 60
|
||||
support_enable = True
|
||||
support_interface_enable = True
|
||||
support_pattern = triangles
|
||||
support_roof_enable = True
|
||||
support_type = everywhere
|
||||
support_use_towers = False
|
||||
support_xy_distance = 0.7
|
||||
top_bottom_thickness = 1.2
|
||||
wall_thickness = 1.2
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
[general]
|
||||
version = 2
|
||||
name = Normal
|
||||
definition = anycubic_i3_mega
|
||||
|
||||
[metadata]
|
||||
type = quality
|
||||
quality_type = normal
|
||||
weight = 1
|
||||
setting_version = 4
|
||||
|
||||
[values]
|
||||
acceleration_enabled = True
|
||||
acceleration_print = 2000
|
||||
acceleration_travel = 3500
|
||||
adhesion_type = skirt
|
||||
brim_width = 4.0
|
||||
cool_fan_full_at_height = 0.5
|
||||
cool_fan_speed = 100
|
||||
cool_fan_speed_0 = 100
|
||||
infill_overlap = 15
|
||||
infill_pattern = zigzag
|
||||
infill_sparse_density = 25
|
||||
initial_layer_line_width_factor = 140
|
||||
jerk_enabled = True
|
||||
jerk_print = 13
|
||||
jerk_travel = 13
|
||||
layer_height = 0.2
|
||||
layer_height_0 = 0.2
|
||||
material_bed_temperature = 60
|
||||
material_diameter = 1.75
|
||||
material_print_temperature = 200
|
||||
material_print_temperature_layer_0 = 0
|
||||
retract_at_layer_change = False
|
||||
retraction_amount = 7
|
||||
retraction_hop = 0.075
|
||||
retraction_hop_enabled = True
|
||||
retraction_hop_only_when_collides = True
|
||||
retraction_min_travel = 1.5
|
||||
retraction_speed = 40
|
||||
skirt_brim_speed = 40
|
||||
skirt_gap = 5
|
||||
skirt_line_count = 3
|
||||
speed_infill = 50
|
||||
speed_print = 50
|
||||
speed_support = 30
|
||||
speed_topbottom = 20
|
||||
speed_travel = 100
|
||||
speed_wall = 50
|
||||
speed_wall_x = 50
|
||||
support_angle = 60
|
||||
support_enable = True
|
||||
support_interface_enable = True
|
||||
support_pattern = triangles
|
||||
support_roof_enable = True
|
||||
support_type = everywhere
|
||||
support_use_towers = False
|
||||
support_xy_distance = 0.7
|
||||
top_bottom_thickness = 1.2
|
||||
wall_thickness = 1.2
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
[general]
|
||||
version = 2
|
||||
name = Draft
|
||||
definition = tevo_blackwidow
|
||||
|
||||
[metadata]
|
||||
type = quality
|
||||
quality_type = draft
|
||||
weight = -2
|
||||
setting_version = 4
|
||||
|
||||
[values]
|
||||
brim_width = 4.0
|
||||
infill_pattern = zigzag
|
||||
layer_height = 0.4
|
||||
material_diameter = 1.75
|
||||
speed_infill = 50
|
||||
speed_print = 50
|
||||
speed_support = 30
|
||||
speed_topbottom = 20
|
||||
speed_travel = 100
|
||||
speed_wall = 50
|
||||
speed_wall_x = 50
|
||||
support_angle = 60
|
||||
support_enable = True
|
||||
support_interface_enable = True
|
||||
support_pattern = triangles
|
||||
support_roof_enable = True
|
||||
support_type = everywhere
|
||||
support_use_towers = False
|
||||
support_xy_distance = 0.7
|
||||
top_bottom_thickness = 1.2
|
||||
wall_thickness = 1.2
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
[general]
|
||||
version = 2
|
||||
name = High
|
||||
definition = tevo_blackwidow
|
||||
|
||||
[metadata]
|
||||
type = quality
|
||||
quality_type = high
|
||||
weight = 1
|
||||
setting_version = 4
|
||||
|
||||
[values]
|
||||
brim_width = 4.0
|
||||
infill_pattern = zigzag
|
||||
layer_height = 0.1
|
||||
material_diameter = 1.75
|
||||
speed_infill = 50
|
||||
speed_print = 50
|
||||
speed_support = 30
|
||||
speed_topbottom = 15
|
||||
speed_travel = 100
|
||||
speed_wall = 50
|
||||
speed_wall_x = 50
|
||||
support_angle = 60
|
||||
support_enable = True
|
||||
support_interface_enable = True
|
||||
support_pattern = triangles
|
||||
support_roof_enable = True
|
||||
support_type = everywhere
|
||||
support_use_towers = False
|
||||
support_xy_distance = 0.7
|
||||
top_bottom_thickness = 1.2
|
||||
wall_thickness = 1.2
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
[general]
|
||||
version = 2
|
||||
name = Normal
|
||||
definition = tevo_blackwidow
|
||||
|
||||
[metadata]
|
||||
type = quality
|
||||
quality_type = normal
|
||||
weight = 0
|
||||
setting_version = 4
|
||||
|
||||
[values]
|
||||
brim_width = 4.0
|
||||
infill_pattern = zigzag
|
||||
layer_height = 0.2
|
||||
material_diameter = 1.75
|
||||
speed_infill = 60
|
||||
speed_print = 50
|
||||
speed_support = 30
|
||||
speed_topbottom = 20
|
||||
speed_travel = 100
|
||||
speed_wall = 50
|
||||
speed_wall_x = 50
|
||||
support_angle = 60
|
||||
support_enable = True
|
||||
support_interface_enable = True
|
||||
support_pattern = triangles
|
||||
support_roof_enable = True
|
||||
support_type = everywhere
|
||||
support_use_towers = False
|
||||
support_xy_distance = 0.7
|
||||
top_bottom_thickness = 1.2
|
||||
wall_thickness = 1.2
|
||||
|
|
@ -391,6 +391,11 @@
|
|||
|
||||
"infill_button_margin": [0.5, 0.5],
|
||||
|
||||
"jobspecs_line": [2.0, 2.0]
|
||||
"jobspecs_line": [2.0, 2.0],
|
||||
|
||||
"objects_menu_size": [20, 40],
|
||||
"objects_menu_size_collapsed": [20, 17],
|
||||
"build_plate_selection_size": [15, 5],
|
||||
"objects_menu_button": [0.3, 2.7]
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue