This commit is contained in:
fieldOfView 2016-04-11 20:59:45 +02:00
commit a862f29794
17 changed files with 61 additions and 379 deletions

View file

@ -42,7 +42,7 @@ class ConvexHullJob(Job):
# Don't use data below 0.
# TODO; We need a better check for this as this gives poor results for meshes with long edges.
vertex_data = vertex_data[vertex_data[:,1] >= 0]
hull = Polygon(numpy.rint(vertex_data[:, [0, 2]]).astype(int))
hull = Polygon(vertex_data[:, [0, 2]])
# First, calculate the normal convex hull around the points
hull = hull.getConvexHull()

View file

@ -90,10 +90,13 @@ class CuraEngineBackend(Backend):
# \return list of commands and args / parameters.
def getEngineCommand(self):
active_machine = Application.getInstance().getMachineManager().getActiveMachineInstance()
json_path = ""
if not active_machine:
return None
json_path = Resources.getPath(Resources.MachineDefinitions, "fdmprinter.json")
else:
json_path = active_machine.getMachineDefinition().getPath()
return [Preferences.getInstance().getValue("backend/location"), "connect", "127.0.0.1:{0}".format(self._port), "-j", active_machine.getMachineDefinition().getPath(), "-vv"]
return [Preferences.getInstance().getValue("backend/location"), "connect", "127.0.0.1:{0}".format(self._port), "-j", json_path, "-vv"]
## Emitted when we get a message containing print duration and material amount. This also implies the slicing has finished.
# \param time The amount of time the print will take.

View file

@ -51,7 +51,7 @@
"speed_topbottom": { "default": 15.0, "visible": true },
"speed_travel": { "default": 150.0, "visible": true },
"speed_layer_0": { "min_value": "0.1", "default": 15.0, "visible": true },
"infill_overlap": { "default": 0.04, "inherit_function": "0.1 * line_width if infill_sparse_density < 95 else 0" },
"infill_overlap": { "default": 10.0 },
"cool_fan_enabled": { "default": false, "visible": true },
"cool_fan_speed": { "default": 0.0, "visible": true },
"skirt_line_count": { "default": 3, "active_if": { "setting": "adhesion_type", "value": "None" } },

View file

@ -45,7 +45,7 @@
"wall_thickness": { "default": 1.2, "visible": false },
"top_bottom_thickness": { "default": 1.2, "visible": false },
"infill_sparse_density": { "default": 20.0 },
"infill_overlap": { "default": 0.06, "inherit_function": "0.15 * line_width if infill_sparse_density < 95 else 0", "visible": false },
"infill_overlap": { "default": 15.0, "visible": false },
"speed_print": { "default": 60.0 },
"speed_travel": { "default": 160.0 },
"speed_layer_0": { "default": 30.0, "visible": true },

View file

@ -45,7 +45,7 @@
"wall_thickness": { "default": 1.2, "visible": false },
"top_bottom_thickness": { "default": 1.2, "visible": false },
"infill_sparse_density": { "default": 20.0 },
"infill_overlap": { "default": 0.06, "inherit_function": "0.15 * line_width if infill_sparse_density < 95 else 0", "visible": false },
"infill_overlap": { "default": 15.0, "visible": false },
"speed_print": { "default": 60.0 },
"speed_travel": { "default": 160.0 },
"speed_layer_0": { "default": 30.0, "visible": true },

View file

@ -10,6 +10,10 @@
"add_pages": [],
"machine_settings": {
"machine_show_variants": {
"description": "Wether to show the different variants of this machine, which are described in separate json files.",
"default": false
},
"machine_start_gcode": {
"description": "Gcode commands to be executed at the very start - separated by \\n.",
"default": "G28 ; Home\nG1 Z15.0 F6000 ;move the platform down 15mm\n;Prime the extruder\nG92 E0\nG1 F200 E3\nG92 E0",
@ -95,13 +99,13 @@
"global_only": true
},
"machine_nozzle_heat_up_speed": {
"description": "The speed (*C/s) by which the nozzle heats up averaged over the window of normal printing temperatures and the standby temperature.",
"description": "The speed (°C/s) by which the nozzle heats up averaged over the window of normal printing temperatures and the standby temperature.",
"default": 2.0,
"SEE_machine_extruder_trains": true,
"global_only": true
},
"machine_nozzle_cool_down_speed": {
"description": "The speed (*C/s) by which the nozzle cools down averaged over the window of normal printing temperatures and the standby temperature.",
"description": "The speed (°C/s) by which the nozzle cools down averaged over the window of normal printing temperatures and the standby temperature.",
"default": 2.0,
"SEE_machine_extruder_trains": true,
"global_only": true
@ -127,7 +131,7 @@
"global_only": true
},
"machine_head_polygon": {
"description": "A 2D silhouette of the print head.",
"description": "A 2D silhouette of the print head (fan caps excluded).",
"type": "polygon",
"default": [
[
@ -150,7 +154,7 @@
"global_only": true
},
"machine_head_with_fans_polygon": {
"description": "A 2D silhouette of the print head.",
"description": "A 2D silhouette of the print head (fan caps included).",
"type": "polygon",
"default": [
[
@ -414,25 +418,6 @@
"inherit_function": "999999 if infill_sparse_density == 100 else math.ceil(round(parent_value / layer_height, 4))"
}
}
},
"wall_0_inset": {
"label": "Outer Wall Inset",
"description": "Inset applied to the path of the outer wall. If the outer wall is smaller than the nozzle, and printed after the inner walls, use this offset to get the hole in the nozzle to overlap with the inner walls instead of the outside of the object.",
"unit": "mm",
"type": "float",
"default": 0.0,
"inherit_function": "(machine_nozzle_size - wall_line_width_0) / 2 if wall_line_width_0 < machine_nozzle_size else 0",
"min_value_warning": "0",
"max_value_warning": "machine_nozzle_size",
"visible": false
},
"alternate_extra_perimeter": {
"label": "Alternate Extra Wall",
"description": "Make an extra wall at every second layer, so that infill will be caught between an extra wall above and one below. This results in a better cohesion between infill and walls, but might have an impact on the surface quality.",
"type": "boolean",
"default": false,
"visible": false,
"inherit": false
}
}
},
@ -448,6 +433,17 @@
"default": "lines",
"visible": false
},
"wall_0_inset": {
"label": "Outer Wall Inset",
"description": "Inset applied to the path of the outer wall. If the outer wall is smaller than the nozzle, and printed after the inner walls, use this offset to get the hole in the nozzle to overlap with the inner walls instead of the outside of the object.",
"unit": "mm",
"type": "float",
"default": 0.0,
"inherit_function": "(machine_nozzle_size - wall_line_width_0) / 2 if wall_line_width_0 < machine_nozzle_size else 0",
"min_value_warning": "0",
"max_value_warning": "machine_nozzle_size",
"visible": false
},
"alternate_extra_perimeter": {
"label": "Alternate Extra Wall",
"description": "Prints an extra wall at every other layer. This way infill gets caught between these extra walls, resulting in stronger prints.",
@ -576,15 +572,28 @@
"inherit_function": "'lines' if infill_sparse_density > 25 else 'grid'"
},
"infill_overlap": {
"label": "Infill Overlap",
"label": "Infill Overlap Percentage",
"description": "The amount of overlap between the infill and the walls. A slight overlap allows the walls to connect firmly to the infill.",
"unit": "mm",
"unit": "%",
"type": "float",
"default": 0.04,
"min_value_warning": "0",
"max_value_warning": "machine_nozzle_size",
"inherit_function": "0.1 * line_width if infill_sparse_density < 95 else 0.0",
"visible": false
"default": 10,
"inherit_function": "10 if infill_sparse_density < 95 else 0",
"min_value": "0",
"max_value_warning": "100",
"visible": false,
"children": {
"infill_overlap_mm": {
"label": "Infill Overlap",
"description": "The amount of overlap between the infill and the walls. A slight overlap allows the walls to connect firmly to the infill.",
"unit": "mm",
"type": "float",
"default": 0.04,
"min_value_warning": "0",
"max_value_warning": "machine_nozzle_size",
"inherit_function": "infill_line_width * parent_value / 100",
"visible": false
}
}
},
"infill_wipe_dist": {
"label": "Infill Wipe Distance",
@ -648,17 +657,6 @@
"unit": "",
"type": "string",
"default": "[[3.5,200],[7.0,240]]",
"enabled": "material_flow_dependent_temperature",
"global_only": true
},
"material_standby_temperature": {
"label": "Standby Temperature",
"description": "The temperature of the nozzle when another nozzle is currently used for printing.",
"unit": "°C",
"type": "float",
"default": 150,
"min_value": "0",
"max_value_warning": "260",
"enabled": "False",
"enabled_before_removal": "material_flow_dependent_temperature",
"global_only": true
@ -916,9 +914,9 @@
"inherit_function": "speed_print",
"enabled": "support_enable",
"children": {
"speed_support_lines": {
"label": "Support Wall Speed",
"description": "The speed at which the walls of support are printed. Printing the walls at lower speeds improves stability.",
"speed_support_infill": {
"label": "Support Infill Speed",
"description": "The speed at which the infill of support is printed. Printing the infill at lower speeds improves stability.",
"unit": "mm/s",
"type": "float",
"default": 60,
@ -1287,39 +1285,6 @@
}
}
},
"support_conical_enabled": {
"label": "Enable Conical Support",
"description": "Experimental feature: Make support areas smaller at the bottom than at the overhang.",
"type": "boolean",
"default": false,
"visible": false,
"enabled": "support_enable"
},
"support_conical_angle": {
"label": "Conical Support Angle",
"description": "The angle of the tilt of conical support. With 0 degrees being vertical, and 90 degrees being horizontal. Smaller angles cause the support to be more sturdy, but consist of more material. Negative angles cause the base of the support to be wider than the top.",
"unit": "°",
"type": "float",
"min_value": "-90",
"min_value_warning": "-45",
"max_value_warning": "45",
"max_value": "90",
"default": 30,
"visible": false,
"enabled": "support_conical_enabled and support_enable"
},
"support_conical_min_width": {
"label": "Conical Support Minimum Width",
"description": "Minimum width to which conical support reduces the support areas. Small widths can cause the base of the support to not act well as foundation for support above.",
"unit": "mm",
"default": 5.0,
"min_value": "0",
"min_value_warning": "machine_nozzle_size * 3",
"max_value_warning": "100.0",
"type": "float",
"visible": false,
"enabled": "support_conical_enabled and support_enable"
},
"support_bottom_stair_step_height": {
"label": "Support Stair Step Height",
"description": "The height of the steps of the stair-like bottom of support resting on the model. A low value makes the support harder to remove, but too high values can lead to unstable support structures.",
@ -1953,7 +1918,7 @@
},
"coasting_min_volume": {
"label": "Minimum Volume Before Coasting",
"description": "The lowest volume an extrusion path should have before allowing coasting. For smaller extrusion paths, less pressure has been built up in the bowden tube and so the coasted volume is scaled linearly. This value should always be larger than the Coasting Volume.",
"description": "The smallest volume an extrusion path should have before allowing coasting. For smaller extrusion paths, less pressure has been built up in the bowden tube and so the coasted volume is scaled linearly. This value should always be larger than the Coasting Volume.",
"unit": "mm³",
"type": "float",
"default": 0.8,
@ -1994,7 +1959,7 @@
"enabled": "top_bottom_pattern != \"concentric\""
},
"support_conical_enabled": {
"label": "Conical Support",
"label": "Enable Conical Support",
"description": "Experimental feature: Make support areas smaller at the bottom than at the overhang.",
"type": "boolean",
"default": false,

View file

@ -43,6 +43,6 @@
"speed_topbottom": { "default": 30.0, "visible": true },
"speed_travel": { "default": 150.0, "visible": true },
"speed_layer_0": { "min_value": 0.1, "default": 30.0, "visible": true },
"infill_overlap": { "default": 0.04, "inherit_function": "0.1 * line_width if infill_sparse_density < 95 else 0" }
"infill_overlap": { "default": 10.0 }
}
}

View file

@ -4,15 +4,12 @@ name = Low Quality
weight = -1
[settings]
infill_sparse_density = 10
layer_height = 0.15
shell_thickness = 0.8
infill_sparse_density = 8
speed_print = 60
cool_min_layer_time = 3
speed_wall_0 = 40
speed_wall_x = 80
speed_infill = 100
wall_thickness = 1
speed_topbottom = 30
speed_travel = 150
speed_layer_0 = 30
skirt_speed = 30

View file

@ -5,4 +5,4 @@ weight = -2
[settings]
speed_topbottom = 15
speed_infill = 80
speed_infill = 80

View file

@ -6,4 +6,4 @@ weight = -4
[settings]
layer_height = 0.04
speed_topbottom = 15
speed_infill = 80
speed_infill = 80

View file

@ -1,49 +0,0 @@
[general]
version = 1
name = High Quality
machine_type = ultimaker2plus
machine_variant = 0.25 mm
material = ABS
weight = -3
[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
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
cool_fan_speed_max = 100
raft_airgap = 0.0
material_bed_temperature = 70
infill_overlap = 0.022
speed_wall_x = 25
skirt_minimal_length = 150.0
speed_layer_0 = 20
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

@ -22,4 +22,5 @@ speed_wall_0 = 30
cool_min_layer_time = 3
cool_min_speed = 20
cool_lift_head = True
cool_fan_speed_min = 50
cool_fan_speed_min = 50

View file

@ -1,48 +0,0 @@
[general]
version = 1
name = Fast Prints
machine_type = ultimaker2plus
machine_variant = 0.8 mm
material = ABS
weight = -1
[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
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
cool_fan_speed_max = 100
raft_airgap = 0.0
material_bed_temperature = 70
infill_overlap = 0.105
speed_wall_x = 30
skirt_minimal_length = 150.0
speed_layer_0 = 20
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

@ -1,48 +0,0 @@
[general]
version = 1
name = High Quality
machine_type = ultimaker2plus
machine_variant = 0.25 mm
material = CPE
weight = -3
[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
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
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_bottom_thickness = 0.72
speed_wall_x = 25
infill_overlap = 0.0374
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

@ -1,47 +0,0 @@
[general]
version = 1
name = Fast Prints
machine_type = ultimaker2plus
machine_variant = 0.8 mm
material = CPE
weight = -1
[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
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
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_bottom_thickness = 1.2
speed_wall_x = 30
infill_overlap = 0.119
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

@ -1,46 +0,0 @@
[general]
version = 1
name = High Quality
machine_type = ultimaker2plus
machine_variant = 0.25 mm
material = PLA
weight = -3
[settings]
retraction_combing = All
speed_layer_0 = 20
speed_print = 20
speed_wall_0 = 20
raft_interface_line_spacing = 3.0
infill_overlap = 0.033
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
speed_wall_x = 25
machine_nozzle_size = 0.22
raft_surface_line_spacing = 3.0
support_enable = False

View file

@ -1,46 +0,0 @@
[general]
version = 1
name = Fast Prints
machine_type = ultimaker2plus
machine_variant = 0.8 mm
material = PLA
weight = -1
[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
infill_overlap = 0.105
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
speed_wall_x = 30
machine_nozzle_size = 0.7
raft_surface_line_spacing = 3.0
support_enable = False