Merge pull request #618 from Ultimaker/feature_profiles

Profiles rework
This commit is contained in:
Ghostkeeper 2016-02-09 09:49:28 +01:00
commit 5693d639f1
56 changed files with 1065 additions and 169 deletions

View file

@ -146,7 +146,7 @@ class BuildVolume(SceneNode):
skirt_size = 0.0
profile = Application.getInstance().getMachineManager().getActiveProfile()
profile = Application.getInstance().getMachineManager().getWorkingProfile()
if profile:
skirt_size = self._getSkirtSize(profile)
@ -176,7 +176,7 @@ class BuildVolume(SceneNode):
if self._active_profile:
self._active_profile.settingValueChanged.disconnect(self._onSettingValueChanged)
self._active_profile = Application.getInstance().getMachineManager().getActiveProfile()
self._active_profile = Application.getInstance().getMachineManager().getWorkingProfile()
if self._active_profile:
self._active_profile.settingValueChanged.connect(self._onSettingValueChanged)
self._updateDisallowedAreas()

View file

@ -63,7 +63,7 @@ class ConvexHullDecorator(SceneNodeDecorator):
if self._profile:
self._profile.settingValueChanged.disconnect(self._onSettingValueChanged)
self._profile = Application.getInstance().getMachineManager().getActiveProfile()
self._profile = Application.getInstance().getMachineManager().getWorkingProfile()
if self._profile:
self._profile.settingValueChanged.connect(self._onSettingValueChanged)

View file

@ -49,7 +49,7 @@ class ConvexHullJob(Job):
# This is done because of rounding errors.
hull = hull.getMinkowskiHull(Polygon(numpy.array([[-1, -1], [-1, 1], [1, 1], [1, -1]], numpy.float32)))
profile = Application.getInstance().getMachineManager().getActiveProfile()
profile = Application.getInstance().getMachineManager().getWorkingProfile()
if profile:
if profile.getSettingValue("print_sequence") == "one_at_a_time" and not self._node.getParent().callDecoration("isGroup"):
# Printing one at a time and it's not an object in a group

View file

@ -502,18 +502,18 @@ class CuraApplication(QtApplication):
@pyqtSlot(str, result = "QVariant")
def getSettingValue(self, key):
if not self.getMachineManager().getActiveProfile():
if not self.getMachineManager().getWorkingProfile():
return None
return self.getMachineManager().getActiveProfile().getSettingValue(key)
return self.getMachineManager().getWorkingProfile().getSettingValue(key)
#return self.getActiveMachine().getSettingValueByKey(key)
## Change setting by key value pair
@pyqtSlot(str, "QVariant")
def setSettingValue(self, key, value):
if not self.getMachineManager().getActiveProfile():
if not self.getMachineManager().getWorkingProfile():
return
self.getMachineManager().getActiveProfile().setSettingValue(key, value)
self.getMachineManager().getWorkingProfile().setSettingValue(key, value)
@pyqtSlot()
def mergeSelected(self):

View file

@ -21,7 +21,7 @@ class OneAtATimeIterator(Iterator.Iterator):
if not type(node) is SceneNode:
continue
if node.getBoundingBox().height > Application.getInstance().getMachineManager().getActiveProfile().getSettingValue("gantry_height"):
if node.getBoundingBox().height > Application.getInstance().getMachineManager().getWorkingProfile().getSettingValue("gantry_height"):
return
if node.callDecoration("getConvexHull"):
node_list.append(node)

View file

@ -66,6 +66,6 @@ class PrintInformation(QObject):
self.currentPrintTimeChanged.emit()
# Material amount is sent as an amount of mm^3, so calculate length from that
r = Application.getInstance().getMachineManager().getActiveProfile().getSettingValue("material_diameter") / 2
r = Application.getInstance().getMachineManager().getWorkingProfile().getSettingValue("material_diameter") / 2
self._material_amount = round((amount / (math.pi * r ** 2)) / 1000, 2)
self.materialAmountChanged.emit()

View file

@ -19,7 +19,7 @@ class AutoSave(Extension):
self._profile = None
machine_manager.activeProfileChanged.connect(self._onActiveProfileChanged)
machine_manager.profileNameChanged.connect(self._onProfilesChanged)
machine_manager.profileNameChanged.connect(self._onProfileNameChanged)
machine_manager.profilesChanged.connect(self._onProfilesChanged)
machine_manager.machineInstanceNameChanged.connect(self._onInstanceNameChanged)
machine_manager.machineInstancesChanged.connect(self._onInstancesChanged)
@ -47,11 +47,14 @@ class AutoSave(Extension):
if self._profile:
self._profile.settingValueChanged.disconnect(self._onSettingValueChanged)
self._profile = Application.getInstance().getMachineManager().getActiveProfile()
self._profile = Application.getInstance().getMachineManager().getWorkingProfile()
if self._profile:
self._profile.settingValueChanged.connect(self._onSettingValueChanged)
def _onProfileNameChanged(self, name):
self._onProfilesChanged()
def _onProfilesChanged(self):
self._save_profiles = True
self._change_timer.start()

View file

@ -183,7 +183,7 @@ class CuraEngineBackend(Backend):
if self._profile:
self._profile.settingValueChanged.disconnect(self._onSettingChanged)
self._profile = Application.getInstance().getMachineManager().getActiveProfile()
self._profile = Application.getInstance().getMachineManager().getWorkingProfile()
if self._profile:
self._profile.settingValueChanged.connect(self._onSettingChanged)
self._onChanged()

View file

@ -44,7 +44,7 @@ class ProcessSlicedObjectListJob(Job):
object_id_map[id(node)] = node
Job.yieldThread()
settings = Application.getInstance().getMachineManager().getActiveProfile()
settings = Application.getInstance().getMachineManager().getWorkingProfile()
center = None
if not settings.getSettingValue("machine_center_is_zero"):

View file

@ -40,7 +40,7 @@ class GCodeWriter(MeshWriter):
if gcode_list:
for gcode in gcode_list:
stream.write(gcode)
profile = self._serialiseProfile(Application.getInstance().getMachineManager().getActiveProfile()) #Serialise the profile and put them at the end of the file.
profile = self._serialiseProfile(Application.getInstance().getMachineManager().getWorkingProfile()) #Serialise the profile and put them at the end of the file.
stream.write(profile)
return True

View file

@ -44,7 +44,7 @@ class SliceInfo(Extension):
def _onWriteStarted(self, output_device):
if not Preferences.getInstance().getValue("info/send_slice_info"):
return # Do nothing, user does not want to send data
settings = Application.getInstance().getMachineManager().getActiveProfile()
settings = Application.getInstance().getMachineManager().getWorkingProfile()
# Load all machine definitions and put them in machine_settings dict
#setting_file_name = Application.getInstance().getActiveMachineInstance().getMachineSettings()._json_file

View file

@ -34,8 +34,8 @@ class SolidView(View):
self._disabled_shader = OpenGL.getInstance().createShaderProgram(Resources.getPath(Resources.Shaders, "overhang.shader"))
self._disabled_shader.setUniformValue("u_diffuseColor", [0.68, 0.68, 0.68, 1.0])
if Application.getInstance().getMachineManager().getActiveProfile():
profile = Application.getInstance().getMachineManager().getActiveProfile()
if Application.getInstance().getMachineManager().getWorkingProfile():
profile = Application.getInstance().getMachineManager().getWorkingProfile()
if profile.getSettingValue("support_enable") or not Preferences.getInstance().getValue("view/show_overhang"):
angle = profile.getSettingValue("support_angle")

View file

@ -7,7 +7,8 @@
"platform": "ultimaker2_platform.obj",
"platform_texture": "ultimaker2plus_backplate.png",
"inherits": "ultimaker2_extended_plus.json",
"variant": "0.25mm Nozzle",
"variant": "0.25 mm",
"profiles_machine": "ultimaker2plus",
"machine_settings": {
"machine_nozzle_size": { "default": 0.25 }
}

View file

@ -7,7 +7,8 @@
"platform": "ultimaker2_platform.obj",
"platform_texture": "ultimaker2plus_backplate.png",
"inherits": "ultimaker2_extended_plus.json",
"variant": "0.40mm Nozzle",
"variant": "0.4 mm",
"profiles_machine": "ultimaker2plus",
"machine_settings": {
"machine_nozzle_size": { "default": 0.40 }
}

View file

@ -7,7 +7,8 @@
"platform": "ultimaker2_platform.obj",
"platform_texture": "ultimaker2plus_backplate.png",
"inherits": "ultimaker2_extended_plus.json",
"variant": "0.60mm Nozzle",
"variant": "0.6 mm",
"profiles_machine": "ultimaker2plus",
"machine_settings": {
"machine_nozzle_size": { "default": 0.60 }
}

View file

@ -7,7 +7,8 @@
"platform": "ultimaker2_platform.obj",
"platform_texture": "ultimaker2plus_backplate.png",
"inherits": "ultimaker2_extended_plus.json",
"variant": "0.80mm Nozzle",
"variant": "0.8 mm",
"profiles_machine": "ultimaker2plus",
"machine_settings": {
"machine_nozzle_size": { "default": 0.80 }
}

View file

@ -10,15 +10,12 @@
"inherits": "ultimaker2.json",
"machine_settings": {
"overrides": {
"machine_width": { "default": 230 },
"machine_depth": { "default": 225 },
"machine_height": { "default": 200 },
"machine_show_variants": { "default": true },
"gantry_height": { "default": 50 }
},
"overrides": {
"gantry_height": { "default": 50 },
"shell_thickness": { "default": 1.2 },
"top_bottom_thickness": { "inherit_function": "(parent_value / 3) * 2" },
"travel_compensate_overlapping_walls_enabled": { "default": true },

View file

@ -9,13 +9,11 @@
"inherits": "ultimaker2plus.json",
"variant": "0.25mm Nozzle",
"machine_settings": {
"machine_nozzle_size": { "default": 0.25 }
},
"variant": "0.25 mm",
"overrides": {
"machine_nozzle_size": { "default": 0.25 },
"layer_height": { "default": 0.06 },
"layer_height_0": { "default": 0.15 },

View file

@ -9,13 +9,11 @@
"inherits": "ultimaker2plus.json",
"variant": "0.40mm Nozzle",
"machine_settings": {
"machine_nozzle_size": { "default": 0.40 }
},
"variant": "0.4 mm",
"overrides": {
"machine_nozzle_size": { "default": 0.40 },
"wall_line_width_0": { "inherit_function": "parent_value * 0.875" },
"skin_line_width": { "inherit_function": "parent_value * 0.875" }
}

View file

@ -9,13 +9,11 @@
"inherits": "ultimaker2plus.json",
"variant": "0.60mm Nozzle",
"machine_settings": {
"machine_nozzle_size": { "default": 0.60 }
},
"variant": "0.6 mm",
"overrides": {
"machine_nozzle_size": { "default": 0.60 },
"layer_height": { "default": 0.15 },
"layer_height_0": { "default": 0.4 },

View file

@ -9,13 +9,11 @@
"inherits": "ultimaker2plus.json",
"variant": "0.80mm Nozzle",
"machine_settings": {
"machine_nozzle_size": { "default": 0.80 }
},
"variant": "0.8 mm",
"overrides": {
"machine_nozzle_size": { "default": 0.80 },
"layer_height": { "default": 0.2 },
"layer_height_0": { "default": 0.5 },

View file

@ -1,15 +0,0 @@
[general]
version = 1
name = Low Quality
[settings]
layer_height = 0.15
shell_thickness = 0.8
infill_sparse_density = 8
speed_print = 60
speed_wall_0 = 40
speed_wall_x = 50
speed_topbottom = 30
speed_travel = 150
speed_layer_0 = 30
skirt_speed = 30

View file

@ -1,5 +0,0 @@
[general]
version = 1
name = Normal Quality
[settings]

View file

@ -1,9 +0,0 @@
[general]
version = 1
name = Ulti Quality
[settings]
layer_height = 0.04
shell_thickness = 1.6
top_bottom_thickness = 0.8
infill_sparse_density = 14

View file

@ -4,5 +4,7 @@ name = High Quality
[settings]
layer_height = 0.06
infill_sparse_density = 12
speed_wall_0 = 30
speed_topbottom = 15
speed_infill = 80

View file

@ -0,0 +1,14 @@
[general]
version = 1
name = Low Quality
[settings]
infill_sparse_density = 10
layer_height = 0.15
cool_min_layer_time = 3
speed_wall_0 = 40
speed_wall_x = 80
speed_infill = 100
shell_thickness = 1
speed_topbottom = 30

View file

@ -0,0 +1,9 @@
[general]
version = 1
name = Normal Quality
[settings]
speed_wall_0 = 30
speed_topbottom = 15
speed_infill = 80

View file

@ -0,0 +1,10 @@
[general]
version = 1
name = Ulti Quality
[settings]
layer_height = 0.04
speed_wall_0 = 30
speed_topbottom = 15
speed_infill = 80

View file

@ -0,0 +1,12 @@
[general]
version = 1
type = material
name = ABS
[settings]
material_bed_temperature = 100
platform_adhesion = Brim
material_flow = 107
material_print_temperature = 250
cool_fan_speed = 50
cool_fan_speed_max = 50

View file

@ -0,0 +1,12 @@
[general]
version = 1
type = material
name = CPE
[settings]
material_bed_temperature = 60
platform_adhesion = Brim
material_flow = 100
material_print_temperature = 250
cool_fan_speed = 50
cool_fan_speed_max = 50

View file

@ -0,0 +1,12 @@
[general]
version = 1
type = material
name = PLA
[settings]
material_bed_temperature = 60
platform_adhesion = Skirt
material_flow = 100
material_print_temperature = 210
cool_fan_speed = 100
cool_fan_speed_max = 100

View file

@ -0,0 +1,51 @@
[general]
version = 1
name = High Quality
machine_type = ultimaker2plus
machine_variant = 0.25 mm
material = ABS
[settings]
raft_surface_thickness = 0.27
raft_base_line_width = 1.0
raft_margin = 5.0
cool_min_layer_time = 2
support_enable = False
retraction_combing = All
cool_min_speed = 25
brim_line_count = 32
top_thickness = 0.72
material_flow = 100.0
cool_lift_head = True
speed_print = 20
retraction_hop = 0.0
machine_nozzle_size = 0.22
layer_height = 0.06
speed_wall_0 = 20
raft_interface_line_spacing = 3.0
speed_topbottom = 20
speed_infill = 30
infill_before_walls = False
retraction_speed = 40.0
skin_no_small_gaps_heuristic = False
infill_sparse_density = 22
shell_thickness = 0.88
cool_fan_speed_max = 100
raft_airgap = 0.0
material_bed_temperature = 70
infill_overlap = 15
speed_wall_x = 25
skirt_minimal_length = 150.0
speed_layer_0 = 20
bottom_thickness = 0.72
layer_height_0 = 0.15
magic_mesh_surface_mode = False
cool_fan_speed_min = 50
top_bottom_thickness = 0.72
skirt_gap = 3.0
raft_interface_line_width = 0.4
adhesion_type = brim
support_pattern = lines
raft_surface_line_width = 0.4
raft_surface_line_spacing = 3.0

View file

@ -0,0 +1,51 @@
[general]
version = 1
name = Fast Prints
machine_type = ultimaker2plus
machine_variant = 0.4 mm
material = ABS
[settings]
raft_surface_thickness = 0.27
raft_base_line_width = 1.0
raft_margin = 5.0
cool_min_layer_time = 3
support_enable = False
retraction_combing = All
speed_travel = 150
cool_min_speed = 20
brim_line_count = 20
top_thickness = 0.75
material_flow = 100.0
cool_lift_head = True
speed_print = 40
retraction_hop = 0.0
machine_nozzle_size = 0.35
layer_height = 0.15
speed_wall_0 = 30
raft_interface_line_spacing = 3.0
speed_topbottom = 30
speed_infill = 55
infill_before_walls = False
retraction_speed = 40.0
skin_no_small_gaps_heuristic = False
infill_sparse_density = 18
shell_thickness = 0.7
cool_fan_speed_max = 100
raft_airgap = 0.0
material_bed_temperature = 70
infill_overlap = 15
speed_wall_x = 40
skirt_minimal_length = 150.0
bottom_thickness = 0.75
layer_height_0 = 0.26
magic_mesh_surface_mode = False
cool_fan_speed_min = 50
top_bottom_thickness = 0.75
skirt_gap = 3.0
raft_interface_line_width = 0.4
adhesion_type = brim
support_pattern = lines
raft_surface_line_width = 0.4
raft_surface_line_spacing = 3.0

View file

@ -0,0 +1,51 @@
[general]
version = 1
name = High Quality
machine_type = ultimaker2plus
machine_variant = 0.4 mm
material = ABS
[settings]
raft_surface_thickness = 0.27
raft_base_line_width = 1.0
raft_margin = 5.0
cool_min_layer_time = 3
support_enable = False
retraction_combing = All
cool_min_speed = 20
brim_line_count = 20
top_thickness = 0.72
material_flow = 100.0
cool_lift_head = True
speed_print = 30
retraction_hop = 0.0
machine_nozzle_size = 0.35
layer_height = 0.06
speed_wall_0 = 20
raft_interface_line_spacing = 3.0
speed_topbottom = 20
speed_infill = 45
infill_before_walls = False
retraction_speed = 40.0
skin_no_small_gaps_heuristic = False
infill_sparse_density = 22
shell_thickness = 1.05
cool_fan_speed_max = 100
raft_airgap = 0.0
material_bed_temperature = 70
infill_overlap = 15
speed_wall_x = 30
skirt_minimal_length = 150.0
speed_layer_0 = 20
bottom_thickness = 0.72
layer_height_0 = 0.26
magic_mesh_surface_mode = False
cool_fan_speed_min = 50
top_bottom_thickness = 0.72
skirt_gap = 3.0
raft_interface_line_width = 0.4
adhesion_type = brim
support_pattern = lines
raft_surface_line_width = 0.4
raft_surface_line_spacing = 3.0

View file

@ -0,0 +1,46 @@
[general]
version = 1
name = Normal Quality
machine_type = ultimaker2plus
machine_variant = 0.4 mm
material = ABS
[settings]
raft_surface_thickness = 0.27
raft_base_line_width = 1.0
raft_margin = 5.0
support_enable = False
retraction_combing = All
cool_min_speed = 20
brim_line_count = 20
material_flow = 100.0
cool_lift_head = True
speed_print = 30
retraction_hop = 0.0
machine_nozzle_size = 0.35
speed_wall_0 = 20
raft_interface_line_spacing = 3.0
speed_topbottom = 20
speed_infill = 45
infill_before_walls = False
retraction_speed = 40.0
skin_no_small_gaps_heuristic = False
shell_thickness = 1.05
cool_fan_speed_max = 100
raft_airgap = 0.0
material_bed_temperature = 70
infill_overlap = 15
speed_wall_x = 30
skirt_minimal_length = 150.0
speed_layer_0 = 20
layer_height_0 = 0.26
magic_mesh_surface_mode = False
cool_fan_speed_min = 50
cool_min_layer_time = 3
skirt_gap = 3.0
raft_interface_line_width = 0.4
adhesion_type = brim
support_pattern = lines
raft_surface_line_width = 0.4
raft_surface_line_spacing = 3.0

View file

@ -0,0 +1,50 @@
[general]
version = 1
name = Normal Quality
machine_type = ultimaker2plus
machine_variant = 0.6 mm
material = ABS
[settings]
raft_surface_thickness = 0.27
raft_base_line_width = 1.0
raft_margin = 5.0
cool_min_layer_time = 3
support_enable = False
retraction_combing = All
cool_min_speed = 20
brim_line_count = 14
top_thickness = 1.2
material_flow = 100.0
cool_lift_head = True
speed_print = 25
retraction_hop = 0.0
machine_nozzle_size = 0.53
layer_height = 0.15
speed_wall_0 = 20
raft_interface_line_spacing = 3.0
speed_topbottom = 20
speed_infill = 55
infill_before_walls = False
retraction_speed = 40.0
skin_no_small_gaps_heuristic = False
shell_thickness = 1.59
cool_fan_speed_max = 100
raft_airgap = 0.0
material_bed_temperature = 70
infill_overlap = 15
speed_wall_x = 30
skirt_minimal_length = 150.0
speed_layer_0 = 20
bottom_thickness = 1.2
layer_height_0 = 0.39
magic_mesh_surface_mode = False
cool_fan_speed_min = 50
top_bottom_thickness = 1.2
skirt_gap = 3.0
raft_interface_line_width = 0.4
adhesion_type = brim
support_pattern = lines
raft_surface_line_width = 0.4
raft_surface_line_spacing = 3.0

View file

@ -0,0 +1,50 @@
[general]
version = 1
name = Fast Prints
machine_type = ultimaker2plus
machine_variant = 0.8 mm
material = ABS
[settings]
raft_surface_thickness = 0.27
raft_base_line_width = 1.0
raft_margin = 5.0
cool_min_layer_time = 3
support_enable = False
retraction_combing = All
cool_min_speed = 15
brim_line_count = 10
top_thickness = 1.2
material_flow = 100.0
cool_lift_head = True
speed_print = 20
retraction_hop = 0.0
machine_nozzle_size = 0.7
layer_height = 0.2
speed_wall_0 = 20
raft_interface_line_spacing = 3.0
speed_topbottom = 20
speed_infill = 40
infill_before_walls = False
retraction_speed = 40.0
skin_no_small_gaps_heuristic = False
shell_thickness = 2.1
cool_fan_speed_max = 100
raft_airgap = 0.0
material_bed_temperature = 70
infill_overlap = 15
speed_wall_x = 30
skirt_minimal_length = 150.0
speed_layer_0 = 20
bottom_thickness = 1.2
layer_height_0 = 0.5
magic_mesh_surface_mode = False
cool_fan_speed_min = 50
top_bottom_thickness = 1.2
skirt_gap = 3.0
raft_interface_line_width = 0.4
adhesion_type = brim
support_pattern = lines
raft_surface_line_width = 0.4
raft_surface_line_spacing = 3.0

View file

@ -0,0 +1,50 @@
[general]
version = 1
name = High Quality
machine_type = ultimaker2plus
machine_variant = 0.25 mm
material = CPE
[settings]
cool_fan_speed_min = 50
retraction_hop = 0.0
support_enable = False
raft_airgap = 0.0
raft_surface_thickness = 0.27
raft_interface_line_spacing = 3.0
skin_no_small_gaps_heuristic = False
bottom_thickness = 0.72
raft_surface_line_spacing = 3.0
retraction_combing = All
adhesion_type = brim
cool_min_layer_time = 2
layer_height = 0.06
raft_margin = 5.0
speed_infill = 30
speed_layer_0 = 20
brim_line_count = 32
cool_lift_head = True
retraction_speed = 40.0
cool_fan_speed_max = 100
magic_mesh_surface_mode = False
speed_print = 20
shell_thickness = 0.88
speed_wall_0 = 20
material_flow = 100.0
support_pattern = lines
infill_sparse_density = 22
raft_interface_line_width = 0.4
layer_height_0 = 0.15
material_bed_temperature = 70
top_thickness = 0.72
top_bottom_thickness = 0.72
speed_wall_x = 25
infill_overlap = 17
infill_before_walls = False
raft_surface_line_width = 0.4
skirt_minimal_length = 150.0
speed_topbottom = 20
skirt_gap = 3.0
raft_base_line_width = 1.0
machine_nozzle_size = 0.22

View file

@ -0,0 +1,50 @@
[general]
version = 1
name = Fast Prints
machine_type = ultimaker2plus
machine_variant = 0.4 mm
material = CPE
[settings]
cool_fan_speed_min = 50
retraction_hop = 0.0
skin_no_small_gaps_heuristic = False
raft_airgap = 0.0
speed_travel = 150
raft_surface_thickness = 0.27
raft_interface_line_spacing = 3.0
support_enable = False
raft_surface_line_width = 0.4
raft_surface_line_spacing = 3.0
retraction_combing = All
adhesion_type = brim
cool_min_layer_time = 3
layer_height = 0.15
raft_margin = 5.0
speed_infill = 45
bottom_thickness = 0.75
brim_line_count = 20
cool_lift_head = True
retraction_speed = 40.0
cool_fan_speed_max = 100
magic_mesh_surface_mode = False
speed_print = 30
shell_thickness = 0.7
speed_wall_0 = 30
material_flow = 100.0
support_pattern = lines
infill_sparse_density = 18
raft_interface_line_width = 0.4
layer_height_0 = 0.26
material_bed_temperature = 70
top_thickness = 0.75
top_bottom_thickness = 0.75
speed_wall_x = 40
infill_overlap = 17
infill_before_walls = False
skirt_minimal_length = 150.0
speed_topbottom = 20
skirt_gap = 3.0
raft_base_line_width = 1.0
machine_nozzle_size = 0.35

View file

@ -0,0 +1,50 @@
[general]
version = 1
name = High Quality
machine_type = ultimaker2plus
machine_variant = 0.4 mm
material = CPE
[settings]
cool_fan_speed_min = 50
retraction_hop = 0.0
support_enable = False
raft_airgap = 0.0
raft_surface_thickness = 0.27
raft_interface_line_spacing = 3.0
skin_no_small_gaps_heuristic = False
bottom_thickness = 0.72
raft_surface_line_spacing = 3.0
retraction_combing = All
adhesion_type = brim
cool_min_layer_time = 3
layer_height = 0.06
raft_margin = 5.0
speed_infill = 45
speed_layer_0 = 20
brim_line_count = 20
cool_lift_head = True
retraction_speed = 40.0
cool_fan_speed_max = 100
magic_mesh_surface_mode = False
speed_print = 20
shell_thickness = 1.05
speed_wall_0 = 20
material_flow = 100.0
support_pattern = lines
infill_sparse_density = 22
raft_interface_line_width = 0.4
layer_height_0 = 0.26
material_bed_temperature = 70
top_thickness = 0.72
top_bottom_thickness = 0.72
speed_wall_x = 30
infill_overlap = 15
infill_before_walls = False
raft_surface_line_width = 0.4
skirt_minimal_length = 150.0
speed_topbottom = 20
skirt_gap = 3.0
raft_base_line_width = 1.0
machine_nozzle_size = 0.35

View file

@ -0,0 +1,45 @@
[general]
version = 1
name = Normal Quality
machine_type = ultimaker2plus
machine_variant = 0.4 mm
material = CPE
[settings]
retraction_hop = 0.0
support_enable = False
raft_airgap = 0.0
raft_surface_thickness = 0.27
support_pattern = lines
raft_interface_line_spacing = 3.0
skin_no_small_gaps_heuristic = False
raft_surface_line_width = 0.4
cool_fan_speed_min = 50
retraction_combing = All
adhesion_type = brim
cool_min_layer_time = 3
infill_before_walls = False
speed_layer_0 = 20
brim_line_count = 20
cool_lift_head = True
raft_interface_line_width = 0.4
cool_fan_speed_max = 100
magic_mesh_surface_mode = False
speed_print = 20
shell_thickness = 1.05
speed_wall_0 = 20
material_flow = 100.0
raft_surface_line_spacing = 3.0
raft_margin = 5.0
retraction_speed = 40.0
layer_height_0 = 0.26
material_bed_temperature = 70
speed_wall_x = 30
infill_overlap = 15
speed_infill = 45
skirt_minimal_length = 150.0
speed_topbottom = 20
skirt_gap = 3.0
raft_base_line_width = 1.0
machine_nozzle_size = 0.35

View file

@ -0,0 +1,49 @@
[general]
version = 1
name = Normal Quality
machine_type = ultimaker2plus
machine_variant = 0.6 mm
material = CPE
[settings]
cool_fan_speed_min = 50
retraction_hop = 0.0
support_enable = False
raft_airgap = 0.0
raft_surface_thickness = 0.27
raft_interface_line_spacing = 3.0
skin_no_small_gaps_heuristic = False
bottom_thickness = 1.2
support_pattern = lines
retraction_combing = All
adhesion_type = brim
cool_min_layer_time = 3
layer_height = 0.15
speed_infill = 40
speed_layer_0 = 20
brim_line_count = 14
cool_lift_head = True
retraction_speed = 40.0
cool_fan_speed_max = 100
magic_mesh_surface_mode = False
speed_print = 20
shell_thickness = 1.59
speed_wall_0 = 20
material_flow = 100.0
raft_surface_line_spacing = 3.0
raft_margin = 5.0
raft_interface_line_width = 0.4
layer_height_0 = 0.39
material_bed_temperature = 70
top_thickness = 1.2
top_bottom_thickness = 1.2
speed_wall_x = 30
infill_overlap = 17
infill_before_walls = False
raft_surface_line_width = 0.4
skirt_minimal_length = 150.0
speed_topbottom = 20
skirt_gap = 3.0
raft_base_line_width = 1.0
machine_nozzle_size = 0.53

View file

@ -0,0 +1,49 @@
[general]
version = 1
name = Fast Prints
machine_type = ultimaker2plus
machine_variant = 0.8 mm
material = CPE
[settings]
cool_fan_speed_min = 50
retraction_hop = 0.0
support_enable = False
raft_airgap = 0.0
raft_surface_thickness = 0.27
raft_interface_line_spacing = 3.0
skin_no_small_gaps_heuristic = False
bottom_thickness = 1.2
support_pattern = lines
retraction_combing = All
adhesion_type = brim
cool_min_layer_time = 3
layer_height = 0.2
speed_infill = 40
speed_layer_0 = 20
brim_line_count = 10
cool_lift_head = True
retraction_speed = 40.0
cool_fan_speed_max = 100
magic_mesh_surface_mode = False
speed_print = 20
shell_thickness = 2.1
speed_wall_0 = 20
material_flow = 100.0
raft_surface_line_spacing = 3.0
raft_margin = 5.0
raft_interface_line_width = 0.4
layer_height_0 = 0.5
material_bed_temperature = 70
top_thickness = 1.2
top_bottom_thickness = 1.2
speed_wall_x = 30
infill_overlap = 17
infill_before_walls = False
raft_surface_line_width = 0.4
skirt_minimal_length = 150.0
speed_topbottom = 20
skirt_gap = 3.0
raft_base_line_width = 1.0
machine_nozzle_size = 0.7

View file

@ -0,0 +1,48 @@
[general]
version = 1
name = High Quality
machine_type = ultimaker2plus
machine_variant = 0.25 mm
material = PLA
[settings]
retraction_combing = All
top_thickness = 0.72
speed_layer_0 = 20
speed_print = 20
speed_wall_0 = 20
raft_interface_line_spacing = 3.0
shell_thickness = 0.88
infill_overlap = 15
retraction_hop = 0.0
material_bed_temperature = 70
skin_no_small_gaps_heuristic = False
retraction_speed = 40.0
raft_surface_line_width = 0.4
raft_base_line_width = 1.0
raft_margin = 5.0
adhesion_type = brim
skirt_minimal_length = 150.0
layer_height = 0.06
brim_line_count = 36
infill_before_walls = False
raft_surface_thickness = 0.27
raft_airgap = 0.0
skirt_gap = 3.0
raft_interface_line_width = 0.4
speed_topbottom = 20
support_pattern = lines
layer_height_0 = 0.15
infill_sparse_density = 22
material_flow = 100.0
cool_fan_speed_min = 100
top_bottom_thickness = 0.72
cool_fan_speed_max = 100
speed_infill = 30
magic_mesh_surface_mode = False
bottom_thickness = 0.72
speed_wall_x = 25
machine_nozzle_size = 0.22
raft_surface_line_spacing = 3.0
support_enable = False

View file

@ -0,0 +1,47 @@
[general]
version = 1
name = Fast Prints
machine_type = ultimaker2plus
machine_variant = 0.4 mm
material = PLA
[settings]
retraction_combing = All
top_thickness = 0.75
speed_print = 40
speed_wall_0 = 40
raft_surface_line_spacing = 3.0
shell_thickness = 0.7
infill_sparse_density = 18
retraction_hop = 0.0
material_bed_temperature = 70
skin_no_small_gaps_heuristic = False
retraction_speed = 40.0
raft_surface_line_width = 0.4
raft_base_line_width = 1.0
raft_margin = 5.0
adhesion_type = brim
skirt_minimal_length = 150.0
layer_height = 0.15
brim_line_count = 22
infill_before_walls = False
raft_surface_thickness = 0.27
raft_airgap = 0.0
infill_overlap = 15
raft_interface_line_width = 0.4
speed_topbottom = 30
support_pattern = lines
layer_height_0 = 0.26
raft_interface_line_spacing = 3.0
material_flow = 100.0
cool_fan_speed_min = 100
cool_fan_speed_max = 100
speed_travel = 150
skirt_gap = 3.0
magic_mesh_surface_mode = False
bottom_thickness = 0.75
speed_wall_x = 50
machine_nozzle_size = 0.35
top_bottom_thickness = 0.75
support_enable = False

View file

@ -0,0 +1,48 @@
[general]
version = 1
name = High Quality
machine_type = ultimaker2plus
machine_variant = 0.4 mm
material = PLA
[settings]
retraction_combing = All
top_thickness = 0.72
speed_layer_0 = 20
speed_print = 30
speed_wall_0 = 30
raft_interface_line_spacing = 3.0
shell_thickness = 1.05
infill_overlap = 15
retraction_hop = 0.0
material_bed_temperature = 70
skin_no_small_gaps_heuristic = False
retraction_speed = 40.0
raft_surface_line_width = 0.4
raft_base_line_width = 1.0
raft_margin = 5.0
adhesion_type = brim
skirt_minimal_length = 150.0
layer_height = 0.06
brim_line_count = 22
infill_before_walls = False
raft_surface_thickness = 0.27
raft_airgap = 0.0
skirt_gap = 3.0
raft_interface_line_width = 0.4
speed_topbottom = 20
support_pattern = lines
layer_height_0 = 0.26
infill_sparse_density = 22
material_flow = 100.0
cool_fan_speed_min = 100
top_bottom_thickness = 0.72
cool_fan_speed_max = 100
speed_infill = 50
magic_mesh_surface_mode = False
bottom_thickness = 0.72
speed_wall_x = 40
machine_nozzle_size = 0.35
raft_surface_line_spacing = 3.0
support_enable = False

View file

@ -0,0 +1,43 @@
[general]
version = 1
name = Normal Quality
machine_type = ultimaker2plus
machine_variant = 0.4 mm
material = PLA
[settings]
retraction_combing = All
shell_thickness = 1.05
speed_print = 30
speed_wall_0 = 30
raft_interface_line_spacing = 3.0
speed_layer_0 = 20
layer_height_0 = 0.26
retraction_hop = 0.0
material_bed_temperature = 70
skirt_gap = 3.0
retraction_speed = 40.0
raft_surface_line_width = 0.4
raft_base_line_width = 1.0
raft_margin = 5.0
adhesion_type = brim
skirt_minimal_length = 150.0
brim_line_count = 22
infill_before_walls = False
raft_surface_thickness = 0.27
raft_airgap = 0.0
infill_overlap = 15
raft_interface_line_width = 0.4
speed_topbottom = 20
support_pattern = lines
speed_infill = 50
material_flow = 100.0
cool_fan_speed_min = 100
cool_fan_speed_max = 100
skin_no_small_gaps_heuristic = False
magic_mesh_surface_mode = False
speed_wall_x = 40
machine_nozzle_size = 0.35
raft_surface_line_spacing = 3.0
support_enable = False

View file

@ -0,0 +1,47 @@
[general]
version = 1
name = Normal Quality
machine_type = ultimaker2plus
machine_variant = 0.6 mm
material = PLA
[settings]
retraction_combing = All
top_thickness = 1.2
speed_layer_0 = 20
speed_print = 25
speed_wall_0 = 25
raft_interface_line_spacing = 3.0
shell_thickness = 1.59
infill_overlap = 15
retraction_hop = 0.0
material_bed_temperature = 70
skin_no_small_gaps_heuristic = False
retraction_speed = 40.0
raft_surface_line_width = 0.4
raft_base_line_width = 1.0
raft_margin = 5.0
adhesion_type = brim
skirt_minimal_length = 150.0
layer_height = 0.15
brim_line_count = 15
infill_before_walls = False
raft_surface_thickness = 0.27
raft_airgap = 0.0
skirt_gap = 3.0
raft_interface_line_width = 0.4
speed_topbottom = 20
support_pattern = lines
layer_height_0 = 0.39
material_flow = 100.0
cool_fan_speed_min = 100
top_bottom_thickness = 1.2
cool_fan_speed_max = 100
speed_infill = 55
magic_mesh_surface_mode = False
bottom_thickness = 1.2
speed_wall_x = 40
machine_nozzle_size = 0.53
raft_surface_line_spacing = 3.0
support_enable = False

View file

@ -0,0 +1,47 @@
[general]
version = 1
name = Fast Prints
machine_type = ultimaker2plus
machine_variant = 0.8 mm
material = PLA
[settings]
retraction_combing = All
top_thickness = 1.2
speed_layer_0 = 20
speed_print = 20
speed_wall_0 = 25
raft_interface_line_spacing = 3.0
shell_thickness = 2.1
infill_overlap = 15
retraction_hop = 0.0
material_bed_temperature = 70
skin_no_small_gaps_heuristic = False
retraction_speed = 40.0
raft_surface_line_width = 0.4
raft_base_line_width = 1.0
raft_margin = 5.0
adhesion_type = brim
skirt_minimal_length = 150.0
layer_height = 0.2
brim_line_count = 11
infill_before_walls = False
raft_surface_thickness = 0.27
raft_airgap = 0.0
skirt_gap = 3.0
raft_interface_line_width = 0.4
speed_topbottom = 20
support_pattern = lines
layer_height_0 = 0.5
material_flow = 100.0
cool_fan_speed_min = 100
top_bottom_thickness = 1.2
cool_fan_speed_max = 100
speed_infill = 40
magic_mesh_surface_mode = False
bottom_thickness = 1.2
speed_wall_x = 30
machine_nozzle_size = 0.7
raft_surface_line_spacing = 3.0
support_enable = False

View file

@ -31,6 +31,7 @@ Item
property alias addMachine: addMachineAction;
property alias configureMachines: settingsAction;
property alias addProfile: addProfileAction;
property alias manageProfiles: manageProfilesAction;
property alias preferences: preferencesAction;
@ -95,6 +96,12 @@ Item
iconName: "configure";
}
Action
{
id: addProfileAction;
text: catalog.i18nc("@action:inmenu menubar:profile","&Add Profile...");
}
Action
{
id: manageProfilesAction;

View file

@ -230,6 +230,7 @@ UM.MainWindow
MenuSeparator { }
MenuItem { action: actions.addProfile; }
MenuItem { action: actions.manageProfiles; }
}
@ -461,6 +462,7 @@ UM.MainWindow
addMachineAction: actions.addMachine;
configureMachinesAction: actions.configureMachines;
addProfileAction: actions.addProfile;
manageProfilesAction: actions.manageProfiles;
}
@ -578,6 +580,7 @@ UM.MainWindow
reloadAll.onTriggered: Printer.reloadAll()
addMachine.onTriggered: addMachineWizard.visible = true;
addProfile.onTriggered: { UM.MachineManager.createProfile(); preferences.visible = true; preferences.setPage(4); }
preferences.onTriggered: { preferences.visible = true; preferences.setPage(0); }
configureMachines.onTriggered: { preferences.visible = true; preferences.setPage(3); }
@ -670,7 +673,6 @@ UM.MainWindow
id: addMachineWizard
}
AboutDialog
{
id: aboutDialog

View file

@ -1,64 +0,0 @@
// Copyright (c) 2015 Ultimaker B.V.
// Cura is released under the terms of the AGPLv3 or higher.
import QtQuick 2.2
import QtQuick.Controls 1.1
import QtQuick.Window 2.1
import UM 1.1 as UM
UM.Dialog
{
id: base
//: About dialog title
title: catalog.i18nc("@title:window","Load profile")
width: 400
height: childrenRect.height
Label
{
id: body
//: About dialog application description
text: catalog.i18nc("@label","Selecting this profile overwrites some of your customised settings. Do you want to merge the new settings into your current profile or do you want to load a clean copy of the profile?")
wrapMode: Text.WordWrap
width: parent.width
anchors.top: parent.top
anchors.margins: UM.Theme.sizes.default_margin.height
UM.I18nCatalog { id: catalog; name: "cura"; }
}
Label
{
id: show_details
//: About dialog application author note
text: catalog.i18nc("@label","Show details.")
wrapMode: Text.WordWrap
anchors.top: body.bottom
anchors.topMargin: UM.Theme.sizes.default_margin.height
}
rightButtons: Row
{
spacing: UM.Theme.sizes.default_margin.width
Button
{
text: catalog.i18nc("@action:button","Merge settings");
}
Button
{
text: catalog.i18nc("@action:button","Reset profile");
}
Button
{
text: catalog.i18nc("@action:button","Cancel");
onClicked: base.visible = false;
}
}
}

View file

@ -13,6 +13,7 @@ Item{
UM.I18nCatalog { id: catalog; name:"cura"}
property int totalHeightProfileSetup: childrenRect.height
property Action manageProfilesAction
property Action addProfileAction
Rectangle{
id: globalProfileRow
@ -63,36 +64,13 @@ Item{
ExclusiveGroup { id: profileSelectionMenuGroup; }
MenuSeparator { }
MenuItem {
action: base.addProfileAction;
}
MenuItem {
action: base.manageProfilesAction;
}
}
// Button {
// id: saveProfileButton
// visible: true
// anchors.top: parent.top
// x: globalProfileSelection.width + 2
// width: parent.width/100*25
// text: catalog.i18nc("@action:button", "Save");
// height: parent.height
//
// style: ButtonStyle {
// background: Rectangle {
// color: control.hovered ? UM.Theme.colors.load_save_button_hover : UM.Theme.colors.load_save_button
// Behavior on color { ColorAnimation { duration: 50; } }
// width: actualLabel.width + UM.Theme.sizes.default_margin.width
// Label {
// id: actualLabel
// anchors.centerIn: parent
// color: UM.Theme.colors.load_save_button_text
// font: UM.Theme.fonts.default
// text: control.text;
// }
// }
// label: Item { }
// }
// }
}
}
}

View file

@ -14,6 +14,7 @@ Rectangle
property Action addMachineAction;
property Action configureMachinesAction;
property Action addProfileAction;
property Action manageProfilesAction;
property int currentModeIndex;
@ -63,6 +64,7 @@ Rectangle
ProfileSetup {
id: profileItem
addProfileAction: base.addProfileAction
manageProfilesAction: base.manageProfilesAction
anchors.top: settingsModeSelection.bottom
anchors.topMargin: UM.Theme.sizes.default_margin.height

View file

@ -146,4 +146,57 @@ Item
}
}
}
Rectangle {
id: materialSelectionRow
anchors.top: variantRow.bottom
anchors.topMargin: UM.MachineManager.hasMaterials ? UM.Theme.sizes.default_margin.height : 0
width: base.width
height: UM.MachineManager.hasMaterials ? UM.Theme.sizes.sidebar_setup.height : 0
visible: UM.MachineManager.hasMaterials
Label{
id: materialSelectionLabel
text: catalog.i18nc("@label","Material:");
anchors.left: parent.left
anchors.leftMargin: UM.Theme.sizes.default_margin.width;
anchors.verticalCenter: parent.verticalCenter
width: parent.width/100*45
font: UM.Theme.fonts.default;
color: UM.Theme.colors.text;
}
ToolButton {
id: materialSelection
text: UM.MachineManager.activeMaterial
width: parent.width/100*55
height: UM.Theme.sizes.setting_control.height
tooltip: UM.MachineManager.activeMaterial;
anchors.right: parent.right
anchors.rightMargin: UM.Theme.sizes.default_margin.width
anchors.verticalCenter: parent.verticalCenter
style: UM.Theme.styles.sidebar_header_button
menu: Menu
{
id: materialSelectionMenu
Instantiator
{
model: UM.MachineMaterialsModel { id: machineMaterialsModel }
MenuItem
{
text: model.name;
checkable: true;
checked: model.active;
exclusiveGroup: materialSelectionMenuGroup;
onTriggered: UM.MachineManager.setActiveMaterial(machineMaterialsModel.getItem(index).name)
}
onObjectAdded: materialSelectionMenu.insertItem(index, object)
onObjectRemoved: materialSelectionMenu.removeItem(object)
}
ExclusiveGroup { id: materialSelectionMenuGroup; }
}
}
}
}

View file

@ -162,7 +162,7 @@ Item
var density = parseInt(UM.ActiveProfile.settingValues.infill_sparse_density);
for(var i = 0; i < infillModel.count; ++i)
{
if(infillModel.get(i).percentage == density)
if(density > infillModel.get(i).percentageMin && density <= infillModel.get(i).percentageMax )
{
return i;
}
@ -235,24 +235,32 @@ Item
infillModel.append({
name: catalog.i18nc("@label", "Hollow"),
percentage: 0,
percentageMin: -1,
percentageMax: 0,
text: catalog.i18nc("@label", "No (0%) infill will leave your model hollow at the cost of low strength"),
icon: "hollow"
})
infillModel.append({
name: catalog.i18nc("@label", "Light"),
percentage: 20,
percentageMin: 0,
percentageMax: 30,
text: catalog.i18nc("@label", "Light (20%) infill will give your model an average strength"),
icon: "sparse"
})
infillModel.append({
name: catalog.i18nc("@label", "Dense"),
percentage: 50,
percentageMin: 30,
percentageMax: 70,
text: catalog.i18nc("@label", "Dense (50%) infill will give your model an above average strength"),
icon: "dense"
})
infillModel.append({
name: catalog.i18nc("@label", "Solid"),
percentage: 100,
percentageMin: 70,
percentageMax: 100,
text: catalog.i18nc("@label", "Solid (100%) infill will make your model completely solid"),
icon: "solid"
})