Merge branch '3.1'

This commit is contained in:
Ghostkeeper 2017-12-01 14:41:41 +01:00
commit 2236e0016d
No known key found for this signature in database
GPG key ID: 5252B696FB5E7C7A
6 changed files with 70 additions and 17 deletions

View file

@ -1,3 +1,60 @@
[3.1.0]
*Profile added for 0.25 mm print core
This new print core gives extra fine line widths which gives prints extra definition and surface quality.
*Profile added for Breakaway material
New material profile for Breakaway material, a new dry post processing support material, which can be used for models with flat surface area overhangs.
*Layer view
The existing Layer View has been updated in order to see a live simulation of all the paths within a layer.
*Quick camera controls
New buttons have been added to the interface that can quickly reposition the camera view of the buildplate.
*Increased processing speeds and performance
A 5-10% speed increase when calculating normals, loading models and slicing.
*Jogging
It allows the printhead to be moved with on-screen controls. Contributed by fieldOfView.
*Large model loading
A new feature has been added which unloads the layer view when switching to solid mode, speeding Ultimaker Cura back up without losing your G-code/layer view information.
*Scripts folder
A scripts folder is now available in the Ultimaker Cura configuration folder. This folder can be loaded with post processing plugins scripts, which will automatically show in Ultimaker Cura. Contributed by fieldOfView.
*Optimized workflow for crash reporting
Crash reports are automatically generated and allow the user, in case of a crash, to easily send their report with a description to developers.
*Floating models enabled
In previous releases, models were dropped to the build plate when support was disabled. Models now float when the setting is enabled (even if creates an impossible-to-print situation). This can be used to stack separate models on top of each other.
*Slicing tolerance
A new setting that affects the intersect point to influence the dimensional accuracy for diagonal surfaces. The user can select the behaviour: Inclusive makes gaps narrower, Exclusive makes gaps wider, and Middle is the fastest to process. This can be used to create better tolerances for printed screw holes. Contributed by BagelOrb.
*Optimized zig zag patterns
Zig zag patterns now print more consistently. Lines now have a 5 micron tolerance in which they are printed any way, resulting in longer connected lines. Contributed by smartavionics.
*Aligned z-seam inner wall moves
Inner wall travel moves are aligned with the z-seam. This reduces the number of travel moves and reduces the chance of more unwanted seams.
*Relative positioning of infill patterns
Infill patterns are now positioned relative to the center of loaded models and an offset can be applied to control the infill more precisely and adjust it to preference or strength. Contributed by smartavionics.
*Line resolution
Enables the user to specify the minimum allowed distance value between two points in G-code to create lower or higher resolution polygons.
*Custom mode changes
If profile settings have been modified in recommended mode under custom mode, a reset icon will appear to notify the user. Click the icon to show the changes that have been made, and revert back to the default profile settings.
*Bugfixes
- Fix for layer numbers being displayed incorrectly when switching between solid and layer mode
- Fix for Ultimaker Cura engine crashes on certain models
- Fix for Uninstalling previous versions of Cura on Windows platforms
- Fix for displaying visible settings
- Fix for loading legacy profiles
- Fix for importing custom single extrusion profile
[3.0.4] [3.0.4]
*Bug fixes *Bug fixes
- Fixed OpenGL issue that prevents Cura from starting. - Fixed OpenGL issue that prevents Cura from starting.
@ -571,10 +628,10 @@ The new GUI allows custom profiles to load easily and intuitively, directly from
*3MF File Loading Support *3MF File Loading Support
Were happy to report we now support loading 3MF files. This is a new file format similar to AMF, but freely available. Were happy to report we now support loading 3MF files. This is a new file format similar to AMF, but freely available.
*Intuitive Cut-Off Object Bottom *Intuitive Cut-Off Object Bottom
Weve added a feature that allows you to move objects below the build plate. You can either correct a model with a rough bottom, or print only a part of an object. Please note that the implementation differs greatly from the old one when it was just a setting. Weve added a feature that allows you to move objects below the build plate. You can either correct a model with a rough bottom, or print only a part of an object. Please note that the implementation differs greatly from the old one when it was just a setting.
*64-bit Windows Builds *64-bit Windows Builds
An optimized 64-bit Windows Cura version is now available. This allows you to load larger model files. An optimized 64-bit Windows Cura version is now available. This allows you to load larger model files.
*Automatic calculations *Automatic calculations

View file

@ -43,7 +43,7 @@ UM.Dialog
TextField { TextField {
id: peak_height id: peak_height
objectName: "Peak_Height" objectName: "Peak_Height"
validator: DoubleValidator {notation: DoubleValidator.StandardNotation; bottom: -500; top: 500;} validator: RegExpValidator {regExp: /^-?\d{1,3}([\,|\.]\d*)?$/}
width: 180 * screenScaleFactor width: 180 * screenScaleFactor
onTextChanged: { manager.onPeakHeightChanged(text) } onTextChanged: { manager.onPeakHeightChanged(text) }
} }
@ -66,7 +66,7 @@ UM.Dialog
TextField { TextField {
id: base_height id: base_height
objectName: "Base_Height" objectName: "Base_Height"
validator: DoubleValidator {notation: DoubleValidator.StandardNotation; bottom: 0; top: 500;} validator: RegExpValidator {regExp: /^\d{1,3}([\,|\.]\d*)?$/}
width: 180 * screenScaleFactor width: 180 * screenScaleFactor
onTextChanged: { manager.onBaseHeightChanged(text) } onTextChanged: { manager.onBaseHeightChanged(text) }
} }
@ -90,7 +90,7 @@ UM.Dialog
id: width id: width
objectName: "Width" objectName: "Width"
focus: true focus: true
validator: DoubleValidator {notation: DoubleValidator.StandardNotation; bottom: 1; top: 500;} validator: RegExpValidator {regExp: /^[1-9]\d{0,2}([\,|\.]\d*)?$/}
width: 180 * screenScaleFactor width: 180 * screenScaleFactor
onTextChanged: { manager.onWidthChanged(text) } onTextChanged: { manager.onWidthChanged(text) }
} }
@ -113,7 +113,7 @@ UM.Dialog
id: depth id: depth
objectName: "Depth" objectName: "Depth"
focus: true focus: true
validator: DoubleValidator {notation: DoubleValidator.StandardNotation; bottom: 1; top: 500;} validator: RegExpValidator {regExp: /^[1-9]\d{0,2}([\,|\.]\d*)?$/}
width: 180 * screenScaleFactor width: 180 * screenScaleFactor
onTextChanged: { manager.onDepthChanged(text) } onTextChanged: { manager.onDepthChanged(text) }
} }

View file

@ -101,7 +101,7 @@ class ImageReaderUI(QObject):
def onWidthChanged(self, value): def onWidthChanged(self, value):
if self._ui_view and not self._disable_size_callbacks: if self._ui_view and not self._disable_size_callbacks:
if len(value) > 0: if len(value) > 0:
self._width = float(value) self._width = float(value.replace(",", "."))
else: else:
self._width = 0 self._width = 0
@ -114,7 +114,7 @@ class ImageReaderUI(QObject):
def onDepthChanged(self, value): def onDepthChanged(self, value):
if self._ui_view and not self._disable_size_callbacks: if self._ui_view and not self._disable_size_callbacks:
if len(value) > 0: if len(value) > 0:
self._depth = float(value) self._depth = float(value.replace(",", "."))
else: else:
self._depth = 0 self._depth = 0
@ -126,14 +126,14 @@ class ImageReaderUI(QObject):
@pyqtSlot(str) @pyqtSlot(str)
def onBaseHeightChanged(self, value): def onBaseHeightChanged(self, value):
if (len(value) > 0): if (len(value) > 0):
self.base_height = float(value) self.base_height = float(value.replace(",", "."))
else: else:
self.base_height = 0 self.base_height = 0
@pyqtSlot(str) @pyqtSlot(str)
def onPeakHeightChanged(self, value): def onPeakHeightChanged(self, value):
if (len(value) > 0): if (len(value) > 0):
self.peak_height = float(value) self.peak_height = float(value.replace(",", "."))
else: else:
self.peak_height = 0 self.peak_height = 0
@ -143,7 +143,4 @@ class ImageReaderUI(QObject):
@pyqtSlot(int) @pyqtSlot(int)
def onImageColorInvertChanged(self, value): def onImageColorInvertChanged(self, value):
if (value == 1): self.image_color_invert = (value == 1)
self.image_color_invert = True
else:
self.image_color_invert = False

View file

@ -394,7 +394,8 @@ class USBPrinterOutputDevice(PrinterOutputDevice):
self._listen_thread.join() self._listen_thread.join()
except: except:
pass pass
self._serial.close() if self._serial is not None: # Avoid a race condition when a thread can change the value of self._serial to None
self._serial.close()
self._listen_thread = threading.Thread(target = self._listen) self._listen_thread = threading.Thread(target = self._listen)
self._listen_thread.daemon = True self._listen_thread.daemon = True

View file

@ -24,7 +24,6 @@ raft_interface_thickness = =round(machine_nozzle_size * 0.3 / 0.4, 3)
raft_jerk = =jerk_layer_0 raft_jerk = =jerk_layer_0
raft_margin = 10 raft_margin = 10
raft_surface_thickness = =round(machine_nozzle_size * 0.2 / 0.4, 2) raft_surface_thickness = =round(machine_nozzle_size * 0.2 / 0.4, 2)
retraction_extrusion_window = =retraction_amount
retraction_min_travel = =line_width * 2 retraction_min_travel = =line_width * 2
skin_overlap = 50 skin_overlap = 50
speed_print = 70 speed_print = 70

View file

@ -21,7 +21,6 @@ machine_nozzle_heat_up_speed = 2.0
material_final_print_temperature = =max(-273.15, material_print_temperature - 15) material_final_print_temperature = =max(-273.15, material_print_temperature - 15)
material_initial_print_temperature = =max(-273.15, material_print_temperature - 10) material_initial_print_temperature = =max(-273.15, material_print_temperature - 10)
material_print_temperature = 190 material_print_temperature = 190
retraction_extrusion_window = =retraction_amount
retraction_hop = 0.2 retraction_hop = 0.2
skin_overlap = 5 skin_overlap = 5
speed_layer_0 = 30 speed_layer_0 = 30