From 050f76e11db46ade1dee795a25dadc5ae5db3ea5 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 10 Feb 2017 18:09:34 +0100 Subject: [PATCH 1/3] Update quality profiles from material research This locks initial layer speed at 20, without scaling from the normal print speed. It also adjusts some jerk and speed of support infill. --- .../quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg | 2 +- .../ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg | 2 +- .../ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg | 1 + .../quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg | 2 +- .../ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg | 1 + .../quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg | 6 ++++-- .../quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg | 7 ++++--- .../quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg | 6 ++++-- .../ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg | 7 ++++--- 16 files changed, 28 insertions(+), 20 deletions(-) diff --git a/resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg index 97733a9858..00d93f3575 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg @@ -18,7 +18,7 @@ material_final_print_temperature = =material_print_temperature - 10 prime_tower_size = 16 skin_overlap = 20 speed_print = 60 -speed_layer_0 = =round(speed_print * 30 / 60) +speed_layer_0 = 20 speed_topbottom = =math.ceil(speed_print * 35 / 60) speed_wall = =math.ceil(speed_print * 45 / 60) speed_wall_0 = =math.ceil(speed_wall * 35 / 45) diff --git a/resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg index f635afd255..066a044ee0 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg @@ -19,7 +19,7 @@ material_final_print_temperature = =material_print_temperature - 10 material_standby_temperature = 100 prime_tower_size = 16 speed_print = 60 -speed_layer_0 = =round(speed_print * 30 / 60) +speed_layer_0 = 20 speed_topbottom = =math.ceil(speed_print * 30 / 60) speed_wall = =math.ceil(speed_print * 40 / 60) speed_wall_0 = =math.ceil(speed_wall * 30 / 40) diff --git a/resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg index fc5be26a52..850af33c27 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg @@ -19,7 +19,7 @@ material_initial_print_temperature = =material_print_temperature - 5 material_final_print_temperature = =material_print_temperature - 10 prime_tower_size = 16 speed_print = 50 -speed_layer_0 = =round(speed_print * 30 / 50) +speed_layer_0 = 20 speed_topbottom = =math.ceil(speed_print * 30 / 50) speed_wall = =math.ceil(speed_print * 30 / 50) diff --git a/resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg index 91f55b3b6d..3793bf8b5e 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg @@ -17,7 +17,7 @@ material_final_print_temperature = =material_print_temperature - 10 material_standby_temperature = 100 prime_tower_size = 16 speed_print = 55 -speed_layer_0 = =round(speed_print * 30 / 55) +speed_layer_0 = 20 speed_topbottom = =math.ceil(speed_print * 30 / 55) speed_wall = =math.ceil(speed_print * 30 / 55) diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg index b6d6bc80b9..7a536ce033 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg @@ -17,7 +17,7 @@ material_standby_temperature = 100 prime_tower_size = 17 skin_overlap = 20 speed_print = 60 -speed_layer_0 = =round(speed_print * 30 / 60) +speed_layer_0 = 20 speed_topbottom = =math.ceil(speed_print * 35 / 60) speed_wall = =math.ceil(speed_print * 45 / 60) speed_wall_0 = =math.ceil(speed_wall * 35 / 45) diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg index 3649b3fb5c..96467fe36c 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg @@ -17,7 +17,7 @@ material_final_print_temperature = =material_print_temperature - 10 material_standby_temperature = 100 prime_tower_size = 17 speed_print = 60 -speed_layer_0 = =round(speed_print * 30 / 60) +speed_layer_0 = 20 speed_topbottom = =math.ceil(speed_print * 30 / 60) speed_wall = =math.ceil(speed_print * 40 / 60) speed_wall_0 = =math.ceil(speed_wall * 30 / 40) diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg index cc5cbcea30..1fd6167e67 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg @@ -19,7 +19,7 @@ material_final_print_temperature = =material_print_temperature - 10 material_standby_temperature = 100 prime_tower_size = 17 speed_print = 50 -speed_layer_0 = =round(speed_print * 30 / 50) +speed_layer_0 = 20 speed_topbottom = =math.ceil(speed_print * 30 / 50) speed_wall = =math.ceil(speed_print * 30 / 50) diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg index 68f8419640..5ad1ef6b43 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg @@ -17,7 +17,7 @@ material_final_print_temperature = =material_print_temperature - 10 material_standby_temperature = 100 prime_tower_size = 17 speed_print = 55 -speed_layer_0 = =round(speed_print * 30 / 55) +speed_layer_0 = 20 speed_topbottom = =math.ceil(speed_print * 30 / 55) speed_wall = =math.ceil(speed_print * 30 / 55) diff --git a/resources/quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg index cd411fc241..eb56b0aa4c 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg @@ -18,6 +18,7 @@ material_print_temperature = =default_material_print_temperature + 5 material_standby_temperature = 100 prime_tower_enable = False skin_overlap = 20 +speed_layer_0 = 20 speed_topbottom = =math.ceil(speed_print * 35 / 70) speed_wall = =math.ceil(speed_print * 50 / 70) speed_wall_0 = =math.ceil(speed_wall * 35 / 50) diff --git a/resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg index c0b28ca6b7..c5faa17a2b 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg @@ -17,7 +17,7 @@ machine_nozzle_heat_up_speed = 1.6 material_standby_temperature = 100 prime_tower_enable = False speed_print = 80 -speed_layer_0 = =round(speed_print * 30 / 80) +speed_layer_0 = 20 speed_topbottom = =math.ceil(speed_print * 30 / 80) speed_wall = =math.ceil(speed_print * 40 / 80) speed_wall_0 = =math.ceil(speed_wall * 30 / 40) diff --git a/resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg index eff3a3971b..1a6db5e3b5 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg @@ -20,7 +20,7 @@ material_standby_temperature = 100 prime_tower_enable = False skin_overlap = 10 speed_print = 60 -speed_layer_0 = =round(speed_print * 30 / 60) +speed_layer_0 = 20 speed_topbottom = =math.ceil(speed_print * 30 / 60) speed_wall = =math.ceil(speed_print * 30 / 60) top_bottom_thickness = 1 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg index 84d9a5a001..c7a7be37c0 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg @@ -18,6 +18,7 @@ machine_nozzle_heat_up_speed = 1.6 material_standby_temperature = 100 prime_tower_enable = False skin_overlap = 10 +speed_layer_0 = 20 top_bottom_thickness = 1 wall_thickness = 1 diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg index bf10c55ae9..83fd52a1fd 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg @@ -12,13 +12,15 @@ material = generic_pva_ultimaker3_BB_0.4 [values] acceleration_support = =math.ceil(acceleration_print * 500 / 4000) acceleration_support_infill = =acceleration_support -acceleration_support_interface = =acceleration_support jerk_support = =math.ceil(jerk_print * 5 / 25) jerk_support_infill = =jerk_support -jerk_support_interface = =jerk_support material_print_temperature = =default_material_print_temperature + 10 material_standby_temperature = 100 skin_overlap = 20 support_interface_height = 0.8 prime_tower_enable = False +speed_support_interface = =math.ceil(speed_support * 20 / 25) +jerk_support_interface = =math.ceil(jerk_support * 1 / 5) +acceleration_support_interface = =math.ceil(acceleration_support * 100 / 500 ) +support_xy_distance = =round(line_width * 1.5, 2) diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg index 2c6cb4af1a..582d6e9c76 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg @@ -12,13 +12,14 @@ material = generic_pva_ultimaker3_BB_0.4 [values] acceleration_support = =math.ceil(acceleration_print * 500 / 4000) acceleration_support_infill = =acceleration_support -acceleration_support_interface = =acceleration_support jerk_support = =math.ceil(jerk_print * 5 / 25) jerk_support_infill = =jerk_support -jerk_support_interface = =jerk_support material_print_temperature = =default_material_print_temperature + 5 material_standby_temperature = 100 skin_overlap = 15 support_interface_height = 0.8 prime_tower_enable = False - +speed_support_interface = =math.ceil(speed_support * 20 / 25) +jerk_support_interface = =math.ceil(jerk_support * 1 / 5) +acceleration_support_interface = =math.ceil(acceleration_support * 100 / 500 ) +support_xy_distance = =round(line_width * 1.5, 2) diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg index 331539dedf..fc6be3ea3d 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg @@ -12,12 +12,14 @@ material = generic_pva_ultimaker3_BB_0.4 [values] acceleration_support = =math.ceil(acceleration_print * 500 / 4000) acceleration_support_infill = =acceleration_support -acceleration_support_interface = =acceleration_support jerk_support = =math.ceil(jerk_print * 5 / 25) jerk_support_infill = =jerk_support -jerk_support_interface = =jerk_support support_infill_rate = 25 support_interface_height = 0.8 material_standby_temperature = 100 prime_tower_enable = False +speed_support_interface = =math.ceil(speed_support * 20 / 25) +jerk_support_interface = =math.ceil(jerk_support * 1 / 5) +acceleration_support_interface = =math.ceil(acceleration_support * 100 / 500 ) +support_xy_distance = =round(line_width * 1.5, 2) diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg index 7ffda14a08..5eb690fa99 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg @@ -12,12 +12,13 @@ material = generic_pva_ultimaker3_BB_0.4 [values] acceleration_support = =math.ceil(acceleration_print * 500 / 4000) acceleration_support_infill = =acceleration_support -acceleration_support_interface = =acceleration_support jerk_support = =math.ceil(jerk_print * 5 / 25) jerk_support_infill = =jerk_support -jerk_support_interface = =jerk_support support_infill_rate = 25 support_interface_height = 0.8 material_standby_temperature = 100 prime_tower_enable = False - +speed_support_interface = =math.ceil(speed_support * 20 / 25) +jerk_support_interface = =math.ceil(jerk_support * 1 / 5) +acceleration_support_interface = =math.ceil(acceleration_support * 100 / 500 ) +support_xy_distance = =round(line_width * 1.5, 2) From 2fca555ea69a627b268e8c654114e41d226c1bf7 Mon Sep 17 00:00:00 2001 From: Torsten Blindert Date: Sat, 11 Feb 2017 16:34:49 +0100 Subject: [PATCH 2/3] FEATURE: Support wsh usb driver --- plugins/USBPrinting/USBPrinterOutputDeviceManager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/USBPrinting/USBPrinterOutputDeviceManager.py b/plugins/USBPrinting/USBPrinterOutputDeviceManager.py index 84f1d26e16..666ec4c856 100644 --- a/plugins/USBPrinting/USBPrinterOutputDeviceManager.py +++ b/plugins/USBPrinting/USBPrinterOutputDeviceManager.py @@ -267,7 +267,7 @@ class USBPrinterOutputDeviceManager(QObject, OutputDevicePlugin, Extension): pass else: if only_list_usb: - base_list = base_list + glob.glob("/dev/ttyUSB*") + glob.glob("/dev/ttyACM*") + glob.glob("/dev/cu.usb*") + base_list = base_list + glob.glob("/dev/ttyUSB*") + glob.glob("/dev/ttyACM*") + glob.glob("/dev/cu.usb*") + glob.glob("/dev/tty.wchusb*") + glob.glob("/dev/cu.wchusb*") base_list = filter(lambda s: "Bluetooth" not in s, base_list) # Filter because mac sometimes puts them in the list else: base_list = base_list + glob.glob("/dev/ttyUSB*") + glob.glob("/dev/ttyACM*") + glob.glob("/dev/cu.*") + glob.glob("/dev/tty.usb*") + glob.glob("/dev/rfcomm*") + glob.glob("/dev/serial/by-id/*") From 88395ebb6a89422681b6fb56cd09c2810bf0590f Mon Sep 17 00:00:00 2001 From: Simon Edwards Date: Sun, 12 Feb 2017 20:36:48 +0100 Subject: [PATCH 3/3] Reliability fix and more debug for testing purposes. CURA-3335 Single instance Cura and model reloading --- cura/CuraApplication.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 428639aafc..3e2099f8cb 100644 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -435,6 +435,7 @@ class CuraApplication(QtApplication): self.__single_instance_server = QLocalServer() self.__single_instance_server.newConnection.connect(self._singleInstanceServerNewConnection) self.__single_instance_server.listen("ultimaker-cura") + Logger.log("d","Single-instance: Listening on: " + repr(self.__single_instance_server.fullServerName())) def _singleInstanceServerNewConnection(self): Logger.log("i", "New connection recevied on our single-instance server") @@ -442,9 +443,11 @@ class CuraApplication(QtApplication): if remote_cura_connection is not None: def readCommands(): + Logger.log("d", "Single-instance: readCommands()") line = remote_cura_connection.readLine() while len(line) != 0: # There is also a .canReadLine() try: + Logger.log("d", "Single-instance: Read command line: " + repr(line)) payload = json.loads(str(line, encoding="ASCII").strip()) command = payload["command"] @@ -464,6 +467,10 @@ class CuraApplication(QtApplication): # 'alert' or flashing the icon in the taskbar is the best thing we do now. self.getMainWindow().alert(0) + # Command: Close the socket connection. We're done. + elif command == "close-connection": + remote_cura_connection.close() + else: Logger.log("w", "Received an unrecognized command " + str(command)) except json.decoder.JSONDecodeError as ex: @@ -471,7 +478,11 @@ class CuraApplication(QtApplication): line = remote_cura_connection.readLine() remote_cura_connection.readyRead.connect(readCommands) - remote_cura_connection.disconnected.connect(readCommands) # Get any last commands before it is destroyed. + def disconnected(): + Logger.log("d", "Single-instance: Disconnected") + readCommands() + Logger.log("d", "Single-instance: Finished disconnected") + remote_cura_connection.disconnected.connect(disconnected) # Get any last commands before it is destroyed. ## Perform any checks before creating the main application. # @@ -487,6 +498,7 @@ class CuraApplication(QtApplication): if "single_instance" in parsed_command_line and parsed_command_line["single_instance"]: Logger.log("i", "Checking for the presence of an ready running Cura instance.") single_instance_socket = QLocalSocket() + Logger.log("d", "preStartUp(): full server name: " + single_instance_socket.fullServerName()) single_instance_socket.connectToServer("ultimaker-cura") single_instance_socket.waitForConnected() if single_instance_socket.state() == QLocalSocket.ConnectedState: @@ -506,8 +518,12 @@ class CuraApplication(QtApplication): for filename in parsed_command_line["file"]: payload = {"command": "open", "filePath": filename} single_instance_socket.write(bytes(json.dumps(payload) + "\n", encoding="ASCII")) + + payload = {"command": "close-connection"} + single_instance_socket.write(bytes(json.dumps(payload) + "\n", encoding="ASCII")) + single_instance_socket.flush() - single_instance_socket.close() + single_instance_socket.waitForDisconnected() return False return True