From d33f6fcf6e50d46529251986a4e5017db219b54f Mon Sep 17 00:00:00 2001 From: MariMakes <40423138+MariMakes@users.noreply.github.com> Date: Fri, 6 Oct 2023 17:10:26 +0200 Subject: [PATCH 01/11] Update Changelog for Cura 5.5 First version --- resources/texts/change_log.txt | 298 ++++++++++----------------------- 1 file changed, 93 insertions(+), 205 deletions(-) diff --git a/resources/texts/change_log.txt b/resources/texts/change_log.txt index bc7befbb8a7..3222ec3a434 100644 --- a/resources/texts/change_log.txt +++ b/resources/texts/change_log.txt @@ -1,3 +1,95 @@ +[5.5] + +*Engine Plugins +- Introduced infrastructure to enable the creation of Engine Plugins it’s a way to add and change new settings to Cura. +- In this first version, there are engine slots available for +-- Gcode postprocessing to allow plugins to modify gcode +-- Infill to allow plugins to modify Infill Generation +-- Broadcasting settings used for a slice +- To enable this we created an exception for loading project files with settings introduced in a plug-in, and introduced a way to notify the user if they load a project file with an engine plug-in that is not yet available. +- To showcase this new infrastructure we introduced a plug-in with new Gradual Flow settings that prevent sudden flow jumps when transitioning between flows. You can find it under your installed plug-ins and in your settings list. + +*Introduced Settings +- Gradual Flow Enabled, Gradual Flow Max Acceleration, Initial Layer Max Flow Acceleration, Gradual Flow discretization step size, are to finetune the Gradual Flow plug-in. +- Top Surface Outer Wall Flow, Top Surface Inner Wall Flow, Top Surface Outer Wall Speed, Top Surface Inner Wall Speed, Top Surface Outer Wall Acceleration, Top Surface Inner Wall Acceleration, Top Surface Outer Wall Jerk, and Top Surface Inner Wall Jerk settings can be used to tune the top surface of your models. +- Small Top/Bottom Width reduces jerky motions in small top/bottom surfaces, with Small Top/Bottom On Surface you can exclude the setting on the surface +- Enable Fluid Motion, Fluid Motion Shift Distance, Fluid Motions Small Distance, and Fluid Motion Angle are settings for printers with smooth motion planners like Klipper. +- Group Outer Walls will bundle types of walls in the same layer reducing travels, thanks to the contribution by @Arcari55 + +*Updates on supported OSses +- Introduced Max OSX builds for ARM64 (M1 support), next to our existing X64 builds. With major contributions from @TheSin +- Introduced a single Linux build removing the need to have a different modern and regular Linux build. + +*Setting improvements for Ultimaker Printers +- UltiMaker printers with UltiMaker Materials have faster-predicted printing times as a result of a number of changed printing speeds +- UltiMaker configurations with limited intent in the past, like AA 0.8 cores, now have more intents available +- Updated printing temperatures for UltiMaker printers to be more uniform +- Updated Support Interface Settings for UltiMaker printers +- Introduced a support material tag, so support is automatically printed with support material + +*Quality of Life Improvements +- Use Tab to navigate between settings in the Per Model Settings window +- Introduced Ctrl-C and Ctrl-V next to the current multiply behavior +- Arrange your models in a grid with the same orientation with Grid Placement +- A message that shows when your Removable Disk is out of space and prevents incomplete gcodes from being saved +- Add Printer and Printer Settings windows are now resizable to fit in more start/end gcode. +- Restored the color picker tool when creating custom materials. +- You can now scroll through long messages, and can easily close them if you finished reading +- Searching for materials and plugins in the Cura Marketplace has been improved +- "This Setting Is Hidden Because" icons were missing in the settings visibility for Windows and Mac +- You can now load multiple files again even if they are mixed STLs and Project Files +- It seemed like models could be multiplied more than 99 times, there is now a limit +- It's now clearer if Cura is syncing materials over the cloud +- It's not possible anymore to send a printjob to an turned off cloud connected UltiMaker printer + +*Other Features +- You can now sponsor the Cura team from the Application Switcher, and Help menu +- Infill behavior close to the skin to prevent jerky motions and visible overextrusion +- The About Dialog includes more build information for Cura developers +- Introduced more hardware info like system, release, version, processor, and CPU cores to the logging to improve troubleshooting. +- Updated supporting certify libraries +- Introduced a new Post Processing Script; Limit XY Accel for bed-slinger printers, contributed by @GregValiant +- Introduced the machine name in the gcode headers, contributed by @smartin015 + +*Bug Fixes that improve Printed Part Quality +- The first support layers were printed incorrectly if adhesion was set to None +- The support was printed before the brim when the origin was at the center of the buildplate +- Printers with a high resolution would incorrectly print embossed features +- The flow would unexpectedly increase after a bridge was completed. +- Bridging settings would not be applied to the first skin layer if the infill density was set to 0 +- The skirt height could collide with some models and could be printed in support +- A brim would be too small if the extruder was not defined. +- The Initial Buildplate and Printing Temperature would not be applied correctly when printing One-At-A-Time + +*Other Bug Fixes +- You could not load some Marketplace materials with intents on the like BASFE 17-4PH +- For some Linux versions it was not possible to add a 3D printer +- Fixed the installation screen for DMG installation because it still had the old logo. +- The minimum support area was not working correctly for tree support +- Support Horizontal Expansion would be hidden but influenced the warning for Support Interface +- The shadow in One At A Time printing sequence would not correctly resize with the skirt/brim size +- It was not possible to select the support structure with basic setting visibility. +- Removed the option to change the Brim Distance in the per object setting untilit is fixed +- Fixed a slicing crash if the skirt was larger than the buildplate +- Fixed a crash that would be caused when rotating a model only a little +- Ints would be truncated instead of rounded in the engine, contributed by @onitake + +* Printer definitions, profiles and materials: +- For MacOS users these printers are supported again: Elegoo, Strateo3D, Uni, ZAV +- Added Anycubic Kobra Plus, contributed by @Jordonbc +- Added Creality Ender-5 S1, contributed @thomaspleasance +- Added Entina Tina 2, contributed by @protosam +- Added Pulse XE E444M, contributed by @randyzwitch +- Updated Primetower settings for Sovol 2 +- Updated Kingroon KP3S Pro, contributed by @Tachyonn +- Updated All Goofoo 3D printers to have more nozzles, contributed by @goofoo3d +- Updated Tree Support settings for Elegoo Printers, Contributed by @ThomasRahm +- Updated Voron Trident 250, 300 & 350 Voron to include new nozzles, contributed by @zadi15 +- Updated Creality Ender 3 start gcode to prevent bed scratching, Contributed by @PresentMonkey +- Updated nozzle options for Dagoma Pro 430, contributed by @0r31 +- Updated start gcode and homing behavior in Creality Ender 3 S1, contributed by @GregValiant. +- Updated faulty disallowed areas for Anycubic Kossel, contributed by @GregValiant + [5.4] * Introduced the new Tree Support contributed by @ThomasRahm @@ -511,208 +603,4 @@ Ultimaker Cura 5.0 is now compatible with Apple M1. Ubuntu 18.04 is also no longer supported because of the update to Qt6. [4.13.1] -* Bug fixes -- Fixed a bug where tree support could go through the model -- Fixed a bug where there were incomplete layers in surface mode - -[4.13.0] -For an overview of the new features in Cura 4.13, please watch our video. - -* Sync material profiles -With Ultimaker Cura 4.13, we give you access to a seamless material experience for Ultimaker Material Alliance materials – with the ease of use you’ve come to expect from Ultimaker materials. You can easily synchronize your Material Alliance profiles with your S-line Ultimaker hardware, at the click of a button. - -* New print profile -A new print profile with 0.3mm layer height for PLA Tough PLA, PVA and BAM for Ultimaker S-line printers - -* 3MF thumbnail -Show the model in the thumbnail of a .3mf file, contributed by fieldOfView - -* Infill density -When printing with a 100% infill the infill pattern will change to ZigZag for all Ultimaker print profiles - -* User login authentication -We’ve streamlined the user login authentication by removing any restrictions, especially for strict enterprise-level IT requirements. - -* Other new features and improvements: -- Improved TPU: top layers have large bridge distance -- Add warning icon to show which extruder is causing the configuration to be 'Not Supported', contributed by fieldOfView -- Show what's new pages with every Cura build -- Speed up loading of settings list -- Re-use vertex buffer objects in rendering -- Add Build Volume Temperature value to ChangeAtZ, contributed by legend069 -- Allow plugins to have multiple views, contributed by Tyronnosaurus -- Reduced top/bottom speed for TPU -- Increased lined width for 0.3mm layer height profiles -- Improved logging to allow debugging in early start-up process - -* Bug fixes: -- Fixed a bug with surface mode will not print all layers -- Fixed a bug where maximum retraction could cause a crash -- Reduced flow for 100% density parts -- Fixed a bug in Surface Mode where small line-segments were created -- Changed the Russian translation for 'nozzle', contributed by mlapkin -- Fixed a visualization bug where layer lines were rendered in weird directions -- Fixed a crash when receiving incomplete cloud API responses -- Add SET_RPATH option to CMake, contributed by boomanaiden154 -- Fixed initial layer bed and print head temperature for Snapmaker profile, contributed by prueker -- Fixed shader compilation on some GPUs, contributed by fieldOfView -- Fixed a bug where Cross 3D infill pattern vertical angles varies wildly -- Bridge Skin Density can be set above 100% -- Fixed tiny travel moves when monotonic ordering was enabled -- Fix crash when using 'Select face to align to the build plate', contributed by eliadevito -- Fixed a bug in fuzzy skin where sometimes it produced weird long overshoots, contributed by BagelOrb -- Fixed undo and redo for support blockers -- Fixed a bug where the Native CAD plugin wouldn't loading -- Fixed a bug where the camera view toggle was not visible -- Fixed some German translations, contributed by Sekisback -- Fixed the link of the beta update message -- Fixed a crash due to extruder being out of range -- Fixed a bug where a disabled extruder was used -- Fixed a bug where the aborted state was not reflected correctly in Monitor view -- Fixed a bug in Pause at Height where it stops extruding -- Fixed a bug where support blockers were included in the bounding box after loading a project file -- Fixed a bug where grouped models become unslicable if the first extruder was disabled -- Fixed a bug in Tree Support where the Z Distance was too big -- Prevented QT plug-ins from being loaded from an insecure directory if an environment variable is set - -* Printer definitions, profiles and materials: -- Add Eazao Zero printer definition, contributed by Hogan-Polaris -- Add XYZprinting printer definitions, contributed by heed818 - -[4.12.1] -* Bug fixes -- Updated Shapely to version 1.8.0 which, among other things, fixes multiplying objects on MacOS Monterey -- Fixed a bug in Lightning infill where the infill was printed multiple times under certain circumstances - -[4.12.0] -For an overview of the new features in Cura 4.12, please watch our video. - -* Lightning infill -The new lightning infill setting lets you to print high-quality top layers but is optimized to use less material and increase your production speed. Special thanks to rburema and BagelOrb! - -* Improved top surface quality -We’ve tweaked the Monotonic setting and made adjustments throughout Ultimaker print profiles. This removes occasional scarring on models and improves top surface quality by default. - -* Improved horizontal print quality -Resulting in reduction of ringing, improving resolution and overall print quality. - -* App switcher -The new switcher provides a simpler way to navigate and use other Ultimaker applications, including Ultimaker Digital Factory, Ultimaker Marketplace, and Ultimaker 3D Printing Academy. Reporting bugs to Github is now just one click away, and it’s easier to find the application you need. - -* Faster start-up -We've shaved 10 seconds from Ultimaker Cura's start-up time by optimizing profile data caching. - -* Other new features: -- Moved the skip button to the left bottom on the sign in onboarding page and replaced with the sign in button and Create new account -- Add {material_type} and {material_name} as replacement patterns, contributed by fieldOfView -- Update file name after saving -- Make parking optional in all "methods" of Pause at Height, contributed by fieldOfView - -* Bug fixes: -- Fixed a bug when combing goes through skin on Top Surface Skin Layers -- Fixed a bug in one-at-a-time mode to not wait for initial layer bed temperature if the temperature stays the same -- Fixed a bug where there was double infill and gap filling -- Fixed a bug with monotonic ironing that causes fan speed jump to 255 for ironing pass -- Fixed an engine crash when using monotonic ordering with zigzag skin pattern -- Fixed missing commas in disallowed list for code injections, contributed by YuvalZilber -- Fixed various typos, contributed by luzpaz -- Fixed Filament Change Retract method -- Fixed extra microsegments inserted from Wall Overlap Computation -- Fixed inconsistent material name in the header and material selection dropdown -- Fixed scaling model down after scaling it up with tool handles -- Fixed single instance option when opening different files -- Fixed duplicating and multiplying support blockers -- Fixed a bug where a random 0 was added in end g-code -- Fixed a bug in Tree support in the global and per object settings -- Fixed a bug where special characters in configuration files caused a crash -- Fixed a bug where infill goes through skin -- Fixed a bug where ironing doesn't listen to combing mode -- Fixed a bug related to the translations in the monitor tab - -* Printer definitions, profiles and materials: -- Added Creasee CS50S pro, Creasee Skywalker and Creasee Phoenix printer definitions, contributed by ivovk9 -- Added Joyplace Cremaker M V1, M V2, S V1, contributed by hyu7000 -- Added Hellbot printer definitions, contributed by DevelopmentHellbot -- Added Arjun Pro 300 printer definition, contributed by venkatkamesh -- Added AtomStack printer definitions, contributed by zhpt -- Added Weedo X40 printer definition, contributed by x40-Community -- Added 3DI D300 printer definition, contributed by v27jain -- Changed Crealiy Ender 5 Plus end g-code, contributed by mothnox -- Updated definitions and extruders of Hellbot Magna 2 230/300 dual, contributed by DevelopmentHellbot -- Updated Eryone Thinker printer profile, contributed by Eryone -- Updated FLSUN Super Racer profiles, contritubed by Guilouz -- Updated Mega S and X acceleration to firmware default, contributed by NilsRo - -* Known bugs with Lighting infill: -- Connect infill polygons doesn't work -- Infill Wipe Distance applies to every polyline -- Infill mesh modifier density -- Infill Overlap doesn't work -- Infill before walls order doesn't respect the order when Lightning is enabled - -[4.11.0] -For an overview of the new features in Cura 4.11, please watch our video. - -* Monotonic ordering -The new Monotonic top/bottom order setting enables users to print parts with smoother top surfaces. This is especially useful for parts that need good aesthetics, such as visual prototypes. Or for parts that benefit from smooth surfaces, such as those that contact-sensitive components. - -* Complete UI refresh -Look around and you will notice that we have refreshed over 100 icons throughout Ultimaker Cura. The new icons are designed for clarity – resulting in a simpler and more informative slicing experience. Also, when scaling the Ultimaker Cura window, the UI will adapt, resulting in less visual clutter. - -* Improved digital library integration -Collaborative workflows using the Digital Library are now simpler. Every user with a cloud-connected Ultimaker 3D printer can access stored projects. And we have added a “Search” function to make finding files easier. - -* Save materials profiles to USB -Users can now save all third-party material profiles to USB. This feature is for Ultimaker S-line printers only and is especially useful for cloud-connected (or offline) printers. - -* Notifications for beta and plugin releases -Users can now set notification preferences to alert them to new Ultimaker Cura beta and plug-in releases. - -* Improve logging of errors in OAuth flow -When helping a user with log-in problems it is easier to see where the OAuth flow goes wrong. - -* Search in the description in the settings visibility menu -When searching in the settings visibility menu you will also search in the description of the settings. - -* Bug fixes: -- Fixed the setting visibility button to make it easier to click -- Inform the user that their webcam does not work because they are cloud connected -- Inform the user that their webcam does not work if the firewall is enabled -- Fixed a crash when pressing the slice button while context menu is opened -- Support non-ASCII character in the Digital Library project name -- Fixed integer underflow if print is less than half the initial layer height -- Fixed a bug where infill mesh sometimes default to having walls or skin -- Fix builds with Python 3.8, contributed by StefanBruens -- Fix CC settings for PLA -- Fixed memory leak in Zeroconf 0.25 -- Fixed connecting USB printing with detecting baud-rates, contributed by rrrlasse -- Fixed crash when Cura crashes on exit -- Fixed a bug where the infill goes through walls -- Fixed the version upgrade of preferences file -- Fixed missing icons in deprecated icons list, contributed by fieldOfView -- Fixed a crash in CuraEngine when the prime tower is placed in an invalid position -- Fixed a bug when user is unable to sign in on Linux if a Keyring backend is installed -- Fixed the rotation direction of the 90 degrees rotation arrows, contributed by fieldOfView - -* Printer definitions, profiles and materials: -- Added SecKit SK-Tank, SK-Go printer definitions, contributed by SecKit -- Added MP Mini Delta 2 printer definition, contributed by PurpleHullPeas -- Added Kingroon K3P and K3PS printer definitions, contributed by NoTaMu -- Added Eryone PLA, PLA Wood, PLA Matte and PETG 1.75mm profiles, contributed by dapostol73 -- Added BIQU BX printer definition, contributed by looxonline -- Added FLSun Super race printer definitions, contributed by thushan -- Added Atom 2.0 and Atom Plus printer definitions, contributed by lin-ycv -- Added PBR 3D Gen-I printer definition, contributed by pbr-research -- Added Creasee 3D printer definitions, contributed by ivovk9 -- Updated Strateo3D profiles, contributed by ChronosTech -- Added Voron V0 printer definitions, contributed by jgehrig -- Updated Liquid profiles, contributed by alexgrigoras -- Added Farm 2 and Farm2CE printer definitions, contributed by saliery999 -- Added GooFoo and Renkforce print definitions and GooFoo materials, contributed by goofoo3d - -*From version 4.11 onwards - Ultimaker Cura is only supported on operating systems actively maintained by their software manufacturer or community. This means Windows 7 and MacOS 10.13 will no longer be supported. Technically this means Ultimaker will stop testing and developing for such operating systems. However, even though it is no longer supported, there is still a high likelihood the application keeps functioning. - - -[4.10] - -The release notes of versions <= 4.10 can be found in our releases GitHub page. +The release notes of versions <= 4.13 can be found in our releases GitHub page. From 16386b722a3aa8ff8e854291f641696ba74d7a6c Mon Sep 17 00:00:00 2001 From: MariMakes <40423138+MariMakes@users.noreply.github.com> Date: Mon, 9 Oct 2023 14:31:37 +0200 Subject: [PATCH 02/11] Update for 5.5 These changes were missing. --- resources/texts/change_log.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resources/texts/change_log.txt b/resources/texts/change_log.txt index 3222ec3a434..cbf0a90590b 100644 --- a/resources/texts/change_log.txt +++ b/resources/texts/change_log.txt @@ -72,7 +72,9 @@ - Removed the option to change the Brim Distance in the per object setting untilit is fixed - Fixed a slicing crash if the skirt was larger than the buildplate - Fixed a crash that would be caused when rotating a model only a little +- If support interface is disabled, you can no longer change those settings - Ints would be truncated instead of rounded in the engine, contributed by @onitake +- Fixed a non-raw RegEx pattern string removing a depreciation warning contributed by @cgobat * Printer definitions, profiles and materials: - For MacOS users these printers are supported again: Elegoo, Strateo3D, Uni, ZAV From b29b5138f0cbc5156cbc9661d0a69ec4980571c5 Mon Sep 17 00:00:00 2001 From: Jelle Spijker Date: Tue, 10 Oct 2023 07:27:39 +0200 Subject: [PATCH 03/11] fix typo Co-authored-by: fieldOfView --- resources/texts/change_log.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/texts/change_log.txt b/resources/texts/change_log.txt index cbf0a90590b..c61cd1b1037 100644 --- a/resources/texts/change_log.txt +++ b/resources/texts/change_log.txt @@ -17,7 +17,7 @@ - Group Outer Walls will bundle types of walls in the same layer reducing travels, thanks to the contribution by @Arcari55 *Updates on supported OSses -- Introduced Max OSX builds for ARM64 (M1 support), next to our existing X64 builds. With major contributions from @TheSin +- Introduced Mac OSX builds for ARM64 (M1 support), next to our existing X64 builds. With major contributions from @TheSin - Introduced a single Linux build removing the need to have a different modern and regular Linux build. *Setting improvements for Ultimaker Printers From c006913a042af397b23222980b2ba63923adcaad Mon Sep 17 00:00:00 2001 From: Jelle Spijker Date: Tue, 10 Oct 2023 10:33:54 +0200 Subject: [PATCH 04/11] Apply suggestions from code review --- resources/texts/change_log.txt | 38 ++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/resources/texts/change_log.txt b/resources/texts/change_log.txt index c61cd1b1037..c45e0056083 100644 --- a/resources/texts/change_log.txt +++ b/resources/texts/change_log.txt @@ -1,33 +1,35 @@ [5.5] -*Engine Plugins -- Introduced infrastructure to enable the creation of Engine Plugins it’s a way to add and change new settings to Cura. -- In this first version, there are engine slots available for --- Gcode postprocessing to allow plugins to modify gcode --- Infill to allow plugins to modify Infill Generation --- Broadcasting settings used for a slice -- To enable this we created an exception for loading project files with settings introduced in a plug-in, and introduced a way to notify the user if they load a project file with an engine plug-in that is not yet available. -- To showcase this new infrastructure we introduced a plug-in with new Gradual Flow settings that prevent sudden flow jumps when transitioning between flows. You can find it under your installed plug-ins and in your settings list. - -*Introduced Settings +* Engine Plugins +- Introduced infrastructure for Engine Plugins; Plugin developers can now hook into and change the actual slice process using a programming language in which they feel comfortable: C++, Python, C#/.NET, Dart, Go, Java, Kotlin, Node, Objective-C, PHP, Ruby +- In this initial version, plugins can hook into the following engine slots: +-- Modify generated gcode, postprocessing it per layer +-- Generate Infill patterns +-- Modify extrusion paths +-- Listen to a broadcast of all Settings +- Cura plugins can now easily add new Settings and extend existing dropdown Settings +- Users are now warned if a previously saved project file depends on a plugin and that plugin isn't installed in the Cura instance which tries to load it +- To showcase this new infrastructure we introduced a Gradual Flow Engine plugin; This plugin prevents sudden drastic changes in flow transitions. You can find it under your bundled plugins and the new gradual flow settings can be found in the material category when all settings are visible + +* Introduced Settings - Gradual Flow Enabled, Gradual Flow Max Acceleration, Initial Layer Max Flow Acceleration, Gradual Flow discretization step size, are to finetune the Gradual Flow plug-in. - Top Surface Outer Wall Flow, Top Surface Inner Wall Flow, Top Surface Outer Wall Speed, Top Surface Inner Wall Speed, Top Surface Outer Wall Acceleration, Top Surface Inner Wall Acceleration, Top Surface Outer Wall Jerk, and Top Surface Inner Wall Jerk settings can be used to tune the top surface of your models. - Small Top/Bottom Width reduces jerky motions in small top/bottom surfaces, with Small Top/Bottom On Surface you can exclude the setting on the surface - Enable Fluid Motion, Fluid Motion Shift Distance, Fluid Motions Small Distance, and Fluid Motion Angle are settings for printers with smooth motion planners like Klipper. - Group Outer Walls will bundle types of walls in the same layer reducing travels, thanks to the contribution by @Arcari55 -*Updates on supported OSses +* Updates on supported OSses - Introduced Mac OSX builds for ARM64 (M1 support), next to our existing X64 builds. With major contributions from @TheSin - Introduced a single Linux build removing the need to have a different modern and regular Linux build. -*Setting improvements for Ultimaker Printers +* Setting improvements for Ultimaker Printers - UltiMaker printers with UltiMaker Materials have faster-predicted printing times as a result of a number of changed printing speeds - UltiMaker configurations with limited intent in the past, like AA 0.8 cores, now have more intents available - Updated printing temperatures for UltiMaker printers to be more uniform - Updated Support Interface Settings for UltiMaker printers - Introduced a support material tag, so support is automatically printed with support material -*Quality of Life Improvements +* Quality of Life Improvements - Use Tab to navigate between settings in the Per Model Settings window - Introduced Ctrl-C and Ctrl-V next to the current multiply behavior - Arrange your models in a grid with the same orientation with Grid Placement @@ -42,7 +44,7 @@ - It's now clearer if Cura is syncing materials over the cloud - It's not possible anymore to send a printjob to an turned off cloud connected UltiMaker printer -*Other Features +* Other Features - You can now sponsor the Cura team from the Application Switcher, and Help menu - Infill behavior close to the skin to prevent jerky motions and visible overextrusion - The About Dialog includes more build information for Cura developers @@ -51,7 +53,7 @@ - Introduced a new Post Processing Script; Limit XY Accel for bed-slinger printers, contributed by @GregValiant - Introduced the machine name in the gcode headers, contributed by @smartin015 -*Bug Fixes that improve Printed Part Quality +* Bug Fixes that improve Printed Part Quality - The first support layers were printed incorrectly if adhesion was set to None - The support was printed before the brim when the origin was at the center of the buildplate - Printers with a high resolution would incorrectly print embossed features @@ -61,13 +63,13 @@ - A brim would be too small if the extruder was not defined. - The Initial Buildplate and Printing Temperature would not be applied correctly when printing One-At-A-Time -*Other Bug Fixes -- You could not load some Marketplace materials with intents on the like BASFE 17-4PH +* Other Bug Fixes +- You could not load some Marketplace materials with intents on the like BASF Ultrafuse 17-4PH - For some Linux versions it was not possible to add a 3D printer - Fixed the installation screen for DMG installation because it still had the old logo. - The minimum support area was not working correctly for tree support - Support Horizontal Expansion would be hidden but influenced the warning for Support Interface -- The shadow in One At A Time printing sequence would not correctly resize with the skirt/brim size +- The shadow in One-At-A-Time printing sequence would not correctly resize with the skirt/brim size - It was not possible to select the support structure with basic setting visibility. - Removed the option to change the Brim Distance in the per object setting untilit is fixed - Fixed a slicing crash if the skirt was larger than the buildplate From 72bba90e735e1bff0c8aa259e90cb98cd3331425 Mon Sep 17 00:00:00 2001 From: Jelle Spijker Date: Tue, 10 Oct 2023 10:53:38 +0200 Subject: [PATCH 05/11] Pin versions --- conanfile.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/conanfile.py b/conanfile.py index 1fae6d3a60c..4662c31bb58 100644 --- a/conanfile.py +++ b/conanfile.py @@ -48,7 +48,7 @@ class CuraConan(ConanFile): def set_version(self): if not self.version: - self.version = "5.5.0-beta.1" + self.version = "5.5.0-beta.2" @property def _pycharm_targets(self): @@ -305,21 +305,21 @@ def validate(self): def requirements(self): self.requires("boost/1.82.0") - self.requires("curaengine_grpc_definitions/latest@ultimaker/testing") + self.requires("curaengine_grpc_definitions/0.1.0-beta.1") self.requires("zlib/1.2.13") self.requires("pyarcus/5.3.0") - self.requires("curaengine/(latest)@ultimaker/stable") + self.requires("curaengine/5.5.0-beta.1") self.requires("pysavitar/5.3.0") self.requires("pynest2d/5.3.0") - self.requires("curaengine_plugin_gradual_flow/(latest)@ultimaker/testing") - self.requires("uranium/(latest)@ultimaker/stable") - self.requires("cura_binary_data/(latest)@ultimaker/stable") + self.requires("curaengine_plugin_gradual_flow/0.1.0-beta.1") + self.requires("uranium/5.5.0-beta.1") + self.requires("cura_binary_data/5.5.0-beta.1") self.requires("cpython/3.10.4") if self.options.internal: self.requires("cura_private_data/(latest)@ultimaker/testing") self.requires("fdm_materials/(latest)@internal/testing") else: - self.requires("fdm_materials/(latest)@ultimaker/stable") + self.requires("fdm_materials/5.5.0-beta.1") def build_requirements(self): if self.options.devtools: From 8d34bcdeb55df5098dbc58913de235b372b64c90 Mon Sep 17 00:00:00 2001 From: Jelle Spijker Date: Tue, 10 Oct 2023 11:03:02 +0200 Subject: [PATCH 06/11] loosen versions to latest stable --- conanfile.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/conanfile.py b/conanfile.py index 4662c31bb58..b8b16846e7a 100644 --- a/conanfile.py +++ b/conanfile.py @@ -305,21 +305,21 @@ def validate(self): def requirements(self): self.requires("boost/1.82.0") - self.requires("curaengine_grpc_definitions/0.1.0-beta.1") + self.requires("curaengine_grpc_definitions/(latest)@ultimaker/testing") self.requires("zlib/1.2.13") self.requires("pyarcus/5.3.0") - self.requires("curaengine/5.5.0-beta.1") + self.requires("curaengine/(latest)@ultimaker/stable") self.requires("pysavitar/5.3.0") self.requires("pynest2d/5.3.0") - self.requires("curaengine_plugin_gradual_flow/0.1.0-beta.1") - self.requires("uranium/5.5.0-beta.1") - self.requires("cura_binary_data/5.5.0-beta.1") + self.requires("curaengine_plugin_gradual_flow/(latest)@ultimaker/testing") + self.requires("uranium/(latest)@ultimaker/stable") + self.requires("cura_binary_data/(latest)@ultimaker/stable") self.requires("cpython/3.10.4") if self.options.internal: self.requires("cura_private_data/(latest)@ultimaker/testing") self.requires("fdm_materials/(latest)@internal/testing") else: - self.requires("fdm_materials/5.5.0-beta.1") + self.requires("fdm_materials/(latest)@ultimaker/stable") def build_requirements(self): if self.options.devtools: From c20b227e5f8b6120b52e5bf884879f8208ecf85d Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Tue, 10 Oct 2023 11:15:43 +0200 Subject: [PATCH 07/11] Prevent 'major' API/SDK version break. --- cura/Arranging/Arranger.py | 7 +++---- cura/Arranging/GridArrange.py | 2 +- cura/Arranging/Nest2DArrange.py | 2 +- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/cura/Arranging/Arranger.py b/cura/Arranging/Arranger.py index f7f9870cf97..fd93ab18461 100644 --- a/cura/Arranging/Arranger.py +++ b/cura/Arranging/Arranger.py @@ -5,7 +5,7 @@ class Arranger: - def createGroupOperationForArrange(self, *, add_new_nodes_in_scene: bool = False) -> Tuple["GroupedOperation", int]: + def createGroupOperationForArrange(self, add_new_nodes_in_scene: bool = False) -> Tuple["GroupedOperation", int]: """ Find placement for a set of scene nodes, but don't actually move them just yet. :param add_new_nodes_in_scene: Whether to create new scene nodes before applying the transformations and rotations @@ -16,13 +16,12 @@ def createGroupOperationForArrange(self, *, add_new_nodes_in_scene: bool = False """ raise NotImplementedError - def arrange(self, *, add_new_nodes_in_scene: bool = False) -> bool: + def arrange(self, add_new_nodes_in_scene: bool = False) -> bool: """ Find placement for a set of scene nodes, and move them by using a single grouped operation. :param add_new_nodes_in_scene: Whether to create new scene nodes before applying the transformations and rotations :return: found_solution_for_all: Whether the algorithm found a place on the buildplate for all the objects """ - grouped_operation, not_fit_count = self.createGroupOperationForArrange( - add_new_nodes_in_scene=add_new_nodes_in_scene) + grouped_operation, not_fit_count = self.createGroupOperationForArrange(add_new_nodes_in_scene) grouped_operation.push() return not_fit_count == 0 diff --git a/cura/Arranging/GridArrange.py b/cura/Arranging/GridArrange.py index 4caf472b5d3..89146be9ad9 100644 --- a/cura/Arranging/GridArrange.py +++ b/cura/Arranging/GridArrange.py @@ -80,7 +80,7 @@ def __init__(self, nodes_to_arrange: List["SceneNode"], build_volume: "BuildVolu self._allowed_grid_idx = self._build_plate_grid_ids.difference(self._fixed_nodes_grid_ids) - def createGroupOperationForArrange(self, *, add_new_nodes_in_scene: bool = False) -> Tuple[GroupedOperation, int]: + def createGroupOperationForArrange(self, add_new_nodes_in_scene: bool = False) -> Tuple[GroupedOperation, int]: # Find the sequence in which items are placed coord_build_plate_center_x = self._build_volume_bounding_box.width * 0.5 + self._build_volume_bounding_box.left coord_build_plate_center_y = self._build_volume_bounding_box.depth * 0.5 + self._build_volume_bounding_box.back diff --git a/cura/Arranging/Nest2DArrange.py b/cura/Arranging/Nest2DArrange.py index 5fcd36c1a31..bad57c5045a 100644 --- a/cura/Arranging/Nest2DArrange.py +++ b/cura/Arranging/Nest2DArrange.py @@ -124,7 +124,7 @@ def findNodePlacement(self) -> Tuple[bool, List[Item]]: return found_solution_for_all, node_items - def createGroupOperationForArrange(self, *, add_new_nodes_in_scene: bool = False) -> Tuple[GroupedOperation, int]: + def createGroupOperationForArrange(self, add_new_nodes_in_scene: bool = False) -> Tuple[GroupedOperation, int]: scene_root = Application.getInstance().getController().getScene().getRoot() found_solution_for_all, node_items = self.findNodePlacement() From e2578554e6fb6f4f8d02f6396f003e93d6993cfb Mon Sep 17 00:00:00 2001 From: Jelle Spijker Date: Tue, 10 Oct 2023 11:18:40 +0200 Subject: [PATCH 08/11] Revert "loosen versions to latest stable" This reverts commit 8d34bcdeb55df5098dbc58913de235b372b64c90. --- conanfile.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/conanfile.py b/conanfile.py index b8b16846e7a..4662c31bb58 100644 --- a/conanfile.py +++ b/conanfile.py @@ -305,21 +305,21 @@ def validate(self): def requirements(self): self.requires("boost/1.82.0") - self.requires("curaengine_grpc_definitions/(latest)@ultimaker/testing") + self.requires("curaengine_grpc_definitions/0.1.0-beta.1") self.requires("zlib/1.2.13") self.requires("pyarcus/5.3.0") - self.requires("curaengine/(latest)@ultimaker/stable") + self.requires("curaengine/5.5.0-beta.1") self.requires("pysavitar/5.3.0") self.requires("pynest2d/5.3.0") - self.requires("curaengine_plugin_gradual_flow/(latest)@ultimaker/testing") - self.requires("uranium/(latest)@ultimaker/stable") - self.requires("cura_binary_data/(latest)@ultimaker/stable") + self.requires("curaengine_plugin_gradual_flow/0.1.0-beta.1") + self.requires("uranium/5.5.0-beta.1") + self.requires("cura_binary_data/5.5.0-beta.1") self.requires("cpython/3.10.4") if self.options.internal: self.requires("cura_private_data/(latest)@ultimaker/testing") self.requires("fdm_materials/(latest)@internal/testing") else: - self.requires("fdm_materials/(latest)@ultimaker/stable") + self.requires("fdm_materials/5.5.0-beta.1") def build_requirements(self): if self.options.devtools: From 4eb0ba9861b7d1dde447943706fe69613de55af0 Mon Sep 17 00:00:00 2001 From: "c.lamboo" Date: Tue, 10 Oct 2023 11:39:06 +0200 Subject: [PATCH 09/11] re-add functions for arrange To avoid api break new functions are added with the depricated decorator --- cura/Arranging/Nest2DArrange.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/cura/Arranging/Nest2DArrange.py b/cura/Arranging/Nest2DArrange.py index bad57c5045a..68ab5f75da7 100644 --- a/cura/Arranging/Nest2DArrange.py +++ b/cura/Arranging/Nest2DArrange.py @@ -6,6 +6,7 @@ from typing import List, TYPE_CHECKING, Optional, Tuple from UM.Application import Application +from UM.Decorators import deprecated from UM.Logger import Logger from UM.Math.Matrix import Matrix from UM.Math.Polygon import Polygon @@ -149,3 +150,30 @@ def createGroupOperationForArrange(self, add_new_nodes_in_scene: bool = False) - not_fit_count += 1 return grouped_operation, not_fit_count + + +@deprecated("Use the Nest2DArrange class instead") +def findNodePlacement(nodes_to_arrange: List["SceneNode"], build_volume: "BuildVolume", + fixed_nodes: Optional[List["SceneNode"]] = None, factor=10000) -> Tuple[bool, List[Item]]: + arranger = Nest2DArrange(nodes_to_arrange, build_volume, fixed_nodes, factor=factor) + return arranger.findNodePlacement() + + +@deprecated("Use the Nest2DArrange class instead") +def createGroupOperationForArrange(nodes_to_arrange: List["SceneNode"], + build_volume: "BuildVolume", + fixed_nodes: Optional[List["SceneNode"]] = None, + factor=10000, + add_new_nodes_in_scene: bool = False) -> Tuple[GroupedOperation, int]: + arranger = Nest2DArrange(nodes_to_arrange, build_volume, fixed_nodes, factor=factor) + return arranger.createGroupOperationForArrange(add_new_nodes_in_scene=add_new_nodes_in_scene) + + +@deprecated("Use the Nest2DArrange class instead") +def arrange(nodes_to_arrange: List["SceneNode"], + build_volume: "BuildVolume", + fixed_nodes: Optional[List["SceneNode"]] = None, + factor=10000, + add_new_nodes_in_scene: bool = False) -> bool: + arranger = Nest2DArrange(nodes_to_arrange, build_volume, fixed_nodes, factor=factor) + return arranger.arrange(add_new_nodes_in_scene=add_new_nodes_in_scene) From e9cc6532d7511f9700b46b0052590e6a2edf576b Mon Sep 17 00:00:00 2001 From: "c.lamboo" Date: Tue, 10 Oct 2023 12:00:55 +0200 Subject: [PATCH 10/11] re-add ColorDialog class to avoid api breaks --- resources/qml/Actions.qml | 7 +++++++ resources/qml/Dialogs/ColorDialog.qml | 12 ++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 resources/qml/Dialogs/ColorDialog.qml diff --git a/resources/qml/Actions.qml b/resources/qml/Actions.qml index 65888b34933..458d7fcaae9 100644 --- a/resources/qml/Actions.qml +++ b/resources/qml/Actions.qml @@ -494,6 +494,13 @@ Item shortcut: fileProviderModel.count == 1 ? StandardKey.Open : "" } + Action + { + id: arrangeSelectionAction + text: catalog.i18nc("@action:inmenu menubar:edit", "Arrange Selection") + onTriggered: Printer.arrangeSelection() + } + Action { id: newProjectAction diff --git a/resources/qml/Dialogs/ColorDialog.qml b/resources/qml/Dialogs/ColorDialog.qml new file mode 100644 index 00000000000..c0d15154f5c --- /dev/null +++ b/resources/qml/Dialogs/ColorDialog.qml @@ -0,0 +1,12 @@ +// Copyright (c) 2023 UltiMaker +// Cura is released under the terms of the LGPLv3 or higher. + +import QtQuick 2.7 +import QtQuick.Controls 2.15 +import QtQuick.Layouts 1.3 +import QtQuick.Dialogs + +// due for deprication, use Qt Color Dialog instead +ColorDialog +{ +} \ No newline at end of file From 57b581d19b19c27406788ff24ceabd19290e66a0 Mon Sep 17 00:00:00 2001 From: Jelle Spijker Date: Tue, 10 Oct 2023 12:23:18 +0200 Subject: [PATCH 11/11] Revert "Revert "loosen versions to latest stable"" This reverts commit e2578554e6fb6f4f8d02f6396f003e93d6993cfb. --- conanfile.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/conanfile.py b/conanfile.py index 4662c31bb58..b8b16846e7a 100644 --- a/conanfile.py +++ b/conanfile.py @@ -305,21 +305,21 @@ def validate(self): def requirements(self): self.requires("boost/1.82.0") - self.requires("curaengine_grpc_definitions/0.1.0-beta.1") + self.requires("curaengine_grpc_definitions/(latest)@ultimaker/testing") self.requires("zlib/1.2.13") self.requires("pyarcus/5.3.0") - self.requires("curaengine/5.5.0-beta.1") + self.requires("curaengine/(latest)@ultimaker/stable") self.requires("pysavitar/5.3.0") self.requires("pynest2d/5.3.0") - self.requires("curaengine_plugin_gradual_flow/0.1.0-beta.1") - self.requires("uranium/5.5.0-beta.1") - self.requires("cura_binary_data/5.5.0-beta.1") + self.requires("curaengine_plugin_gradual_flow/(latest)@ultimaker/testing") + self.requires("uranium/(latest)@ultimaker/stable") + self.requires("cura_binary_data/(latest)@ultimaker/stable") self.requires("cpython/3.10.4") if self.options.internal: self.requires("cura_private_data/(latest)@ultimaker/testing") self.requires("fdm_materials/(latest)@internal/testing") else: - self.requires("fdm_materials/5.5.0-beta.1") + self.requires("fdm_materials/(latest)@ultimaker/stable") def build_requirements(self): if self.options.devtools: