diff --git a/CHANGES b/CHANGES new file mode 100644 index 0000000000..616f906b34 --- /dev/null +++ b/CHANGES @@ -0,0 +1,127 @@ +Cura 15.06 Beta +=============== + +This is the *Beta* version of Cura 15.06. + +Cura 15.06 is a new release built from the ground up on a completely new +framework called Uranium. This framework has been designed to make it easier to +extend Cura with additional functionality as well as provide a cleaner UI. + +Changes since 15.05.91 +---------------------- + +* There is now a working MacOSX version. Currently it supports OSX 10.7 and + higher. +* Fixed: Need to deselect before selecting a different object. +* Fixed: Object can be moved on Z axis. +* Fixed: Error values should be considered invalid values and will not trigger a + slice. +* Fixed: Text fields used a locale-aware validator while the underlying code did + not. +* Fixed: Text fields will trigger a slice on text change, not only after focus + change/enter press. +* Fixed: Rotate Tool snaps to incorrect value. + +Changes since 15.05.90 +---------------------- + +* Fixed: Additional UI elements for tools and views not loading. +* Fixed: Double click needed to change setting dialog page. +* Fixed: Context menu entries (reload, center object, etc.) not working. +* Fixed: "Open With" or passing files from command line not working. +* Fixed: "Reload All" would not reload files. + +In addition, a lot of work has gone into getting a usable Mac OSX version. + +New Features +------------ + +* Plugin based system + The Uranium framework provides us with a plugin-based system + that provides additional flexibility when extending Cura. Think + of new views, tools, file formats, etc. This is probably the + biggest new feature. +* Improved UI + The UI has received a complete overhaul. +* Time-Quality Slider + The 4 static quick print profiles have been replaced with + a slider that should make it easier to find the right spot + between print time and print quality. +* More Settings + The Advanced mode is now configurable and can show many + additional settings that were previously not available, while at + the same time not overwhelming new users with too many settings. + Custom set of visible settings can be created by the user. +* Support for high-DPI screens + The refreshed UI has been designed with high-DPI screens in + mind which should improve the experience of Cura on such + devices. +* Improved language support + (Not yet available for the Beta release.) +* Improved support structure generation + The new version of the CuraEngine now features improved + support generation algorithms and additional options for support + structure generation. +* Experimental Feature: Wire Printing + Wire Printing has been added as an experimental new feature. It + will print objects as a structure of lines. It can be enabled by + from Advanced Mode -> Fixes -> Wire Printing. +* Undo/Redo + It is now possible to undo and redo most scene operations, like + moving or rotating objects. + +Features from earlier versions not (yet) in this release +-------------------------------------------------------- + +* The All-at-once/One-at-a-time toggle is not available. + We are working on an improved implementation of this mechanism + but it will not be available for this release. +* No dual extrusion features are available yet. + We are working on a completely new workflow for this but this + needs additional time. +* “Lay Flat” has been removed. + The existing implementation was unfortunately not salvageable. + We will be looking into an improved implementation for this + feature. +* "Split Object Into Parts" has been removed. + Due to the same reason as Lay Flat. +* Support for AMF and DAE file formats has been removed. + Both of these will be implemented as plugins in the future. +* Support for directly loading a GCode file is not yet available. + This will be implemented as a plugin in the future. +* Support for PNG, JPG and other image formats has been removed. + These can be supported by a plugin with an improved UI. +* Support for loading Minecraft levels has been removed. + This can be implemented as a plugin. +* Windows XP support has been dropped. + Microsoft is no longer supporting xp, so they no longer back + port certain features that we require. +* X-Ray view is missing. + Will be implemented as a (you might have guessed it) plugin. +* Infill display in the layer view is missing. + Like several other features, the existing implementation of this + functionality is not salvageable and will need to be reimplemented. + + +Known Issues +------------ + +For an up to date list of all known issues, please see +https://github.com/Ultimaker/Cura/issues and +https://github.com/Ultimaker/Uranium/issues . + +* The application has no application icon yet. +* The Windows version starts a console before starting the + application. This is intentional for the beta and it will be + removed for the final version. +* Opening the machine preferences page will switch to the first + available machine instead of keeping the current machine + selected. +* Some OBJ files are rendered as black objects due to missing + normals. +* The developer documentation for Uranium (available at + http://software.ultimaker.com/uranium/index.html) is not yet + complete. +* Disabling plugins does not work correctly yet. +* Unicorn occasionally still requires feeding. Do not feed it + after midnight. diff --git a/cura_app.py b/cura_app.py old mode 100644 new mode 100755 diff --git a/plugins/CuraEngineBackend/CuraEngineBackend.py b/plugins/CuraEngineBackend/CuraEngineBackend.py index 7c52a3c6cb..45a2148892 100644 --- a/plugins/CuraEngineBackend/CuraEngineBackend.py +++ b/plugins/CuraEngineBackend/CuraEngineBackend.py @@ -110,6 +110,9 @@ class CuraEngineBackend(Backend): if not objects: return #No point in slicing an empty build plate + if kwargs.get("settings", self._settings).hasErrorValue(): + return #No slicing if we have error values since those are by definition illegal values. + self._slicing = True self.slicingStarted.emit() diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index 7e48765f17..a2eeba59cd 100644 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -144,23 +144,6 @@ UM.MainWindow { } } - Sidebar { - id: sidebar; - - anchors { - top: parent.top; - bottom: parent.bottom; - right: parent.right; - rightMargin: UM.Theme.sizes.window_margin.width; - } - - width: UM.Theme.sizes.panel.width; - - addMachineAction: actions.addMachine; - configureMachinesAction: actions.configureMachines; - saveAction: actions.save; - } - UM.MessageStack { anchors { left: toolbar.right; @@ -265,6 +248,23 @@ UM.MainWindow { bottomMargin: UM.Theme.sizes.window_margin.height; } } + + Sidebar { + id: sidebar; + + anchors { + top: parent.top; + bottom: parent.bottom; + right: parent.right; + rightMargin: UM.Theme.sizes.window_margin.width; + } + + width: UM.Theme.sizes.panel.width; + + addMachineAction: actions.addMachine; + configureMachinesAction: actions.configureMachines; + saveAction: actions.save; + } } } diff --git a/resources/qml/Sidebar.qml b/resources/qml/Sidebar.qml index 0d4d0df599..3b641a4538 100644 --- a/resources/qml/Sidebar.qml +++ b/resources/qml/Sidebar.qml @@ -16,10 +16,12 @@ UM.AngledCornerRectangle { property alias saveAction: saveButton.saveAction; cornerSize: UM.Theme.sizes.default_margin.width; - + + color: UM.Theme.colors.sidebar; + function showTooltip(item, position, text) { tooltip.text = text; - position = item.mapToItem(base, position.x, position.y); + position = item.mapToItem(base, position.x, position.y / 2); tooltip.show(position); } diff --git a/resources/qml/SidebarTooltip.qml b/resources/qml/SidebarTooltip.qml index 9003faf995..6e0ba74404 100644 --- a/resources/qml/SidebarTooltip.qml +++ b/resources/qml/SidebarTooltip.qml @@ -22,10 +22,10 @@ Rectangle { function show(position) { if(position.y + base.height > parent.height) { - x = position.x; + x = position.x - base.width; y = parent.height - base.height; } else { - x = position.x; + x = position.x - base.width; y = position.y; } base.opacity = 1; diff --git a/resources/settings/fdmprinter.json b/resources/settings/fdmprinter.json index acab4b84bd..3c4030d560 100644 --- a/resources/settings/fdmprinter.json +++ b/resources/settings/fdmprinter.json @@ -41,8 +41,9 @@ "unit": "mm", "type": "float", "default": 0.1, - "min_value": 0.06, - "max_value": 2.0, + "min_value": 0.00001, + "min_value_warning": 0.04, + "max_value_warning": 2.0, "always_visible": true, "children": { "layer_height_0": { @@ -51,8 +52,9 @@ "unit": "mm", "type": "float", "default": 0.3, - "min_value": 0.06, - "max_value": 2.0, + "min_value": 0.0, + "min_value_warning": 0.04, + "max_value_warning": 2.0, "visible": false } } diff --git a/resources/themes/cura/styles.qml b/resources/themes/cura/styles.qml index d17560d976..9e9cc11e42 100644 --- a/resources/themes/cura/styles.qml +++ b/resources/themes/cura/styles.qml @@ -73,6 +73,7 @@ QtObject { anchors.horizontalCenter: parent.horizontalCenter; text: control.text; font: UM.Theme.fonts.button_tooltip; + color: UM.Theme.colors.button_text; } } } @@ -121,6 +122,8 @@ QtObject { Image { anchors.verticalCenter: parent.verticalCenter; source: control.iconSource; + width: UM.Theme.sizes.section_icon.width; + height: UM.Theme.sizes.section_icon.height; } Label { diff --git a/resources/themes/cura/theme.json b/resources/themes/cura/theme.json index 2ea7f138f6..f73360d439 100644 --- a/resources/themes/cura/theme.json +++ b/resources/themes/cura/theme.json @@ -44,6 +44,8 @@ }, "colors": { + "sidebar": [255, 255, 255, 255], + "primary": [12, 169, 227, 255], "primary_hover": [34, 150, 190, 255], "primary_text": [255, 255, 255, 255],