Commit graph

2256 commits

Author SHA1 Message Date
Ghostkeeper
6e2738a254
Don't update extruders that Cura doesn't have
This is a bit of defensive coding. If the position is out of bounds for Cura it should now ignore those extruders.
This could be due to broken firmware, or maybe someone MITM-ing the connection and changing it, or perhaps because the printer was changed while the sync was ongoing? Whatever the cause, it now puts a warning in the log about it and doesn't crash any more.

Fixes Sentry issue CURA-156.
2020-09-08 12:53:30 +02:00
Jaime van Kessel
175244fdc8
No longer spam the GUI with hasUserSettingsUpdates
The QML profiler showed me that it was causing a *lot* of issues
when switching between extruders. More than 10% of the time in QML
was spent on just updating ine property in the workspace summary dialog.
There were other properties that were also being updated without there being a point.

Contributes to #8250
2020-09-04 17:23:52 +02:00
Jaime van Kessel
6dbdee8d98
Don't switch away from disabled extruder
In some situations this could cause a slowdown, since halfway through
calculating the values the extruder switch would happen. If this is
split up a bit, it's at least less noticeable

Contributes to #8250
2020-09-04 16:43:53 +02:00
Jaime van Kessel
c383fe9656
Don't force an update when disabling an extruder
All the settings that are changed get a notification from the settingRelation.
There should be no need to re-fire all of those settings again!

Contributes to #8250
2020-09-04 16:39:06 +02:00
Jaime van Kessel
8ecdce3b26
Remove postponeEmit that didn't do anything
The signals it was postponing weren't ever being triggered
2020-09-04 16:38:15 +02:00
Jaime van Kessel
1097dbdfa5
Fix copypaste mistake 2020-08-24 10:11:49 +02:00
Jaime van Kessel
13600504d4
Fix mypy failure 2020-08-24 09:33:56 +02:00
Jaime van Kessel
87fb495e07
Add some property tests for MachineManager 2020-08-21 16:36:04 +02:00
Jaime van Kessel
4a47606176
Fix mypy issue 2020-08-21 15:52:13 +02:00
Jaime van Kessel
ce930220e9
Add tests for SetActiveMachine 2020-08-21 15:14:44 +02:00
Jelle Spijker
b685da5a24
Merge pull request #8195 from Ultimaker/GetPropertySpeedImprovements
Get property speed improvements
2020-08-19 16:41:26 +02:00
Jaime van Kessel
907caa53f0
Ensure that changing material type results in profile re-evaluation
CURA-7657
2020-08-18 13:54:21 +02:00
Jaime van Kessel
bc67b057ea
Add missing required typing 2020-08-14 15:19:59 +02:00
Jaime van Kessel
eee84a82bf
Use exception instead of check if key is in dict
Since the amount of times that the key is in there is orders of magnitude
larger, it's better to catch the exception when it doesn't (as that is
slightly faster)
2020-08-14 15:15:33 +02:00
Jaime van Kessel
9c904f95ce
Add a cache for settable_per_extruder property 2020-08-14 14:51:46 +02:00
Jaime van Kessel
51737dccd6
Don't create a context when it's not provided
The rest of the functions already assume that None is an empty context
2020-08-14 14:19:19 +02:00
Jaime van Kessel
4c00a8ff2c
Add extra short-circuit for resolve 2020-08-14 13:57:09 +02:00
Jaime van Kessel
9a0264644b
Simplify the _shouldResolve function
This increases the speed of the setting resolvement.
2020-08-14 13:41:20 +02:00
Jaime van Kessel
dd42c87da7
Merge branch 'CURA-7646_Settings_not_applied_when_creating_new_CFFF_from_project_file' of github.com:Ultimaker/Cura into 4.7 2020-08-12 13:42:14 +02:00
Jaime van Kessel
e42369179f
Merge branch '4.7' of github.com:Ultimaker/Cura into 4.7 2020-08-11 11:38:31 +02:00
Kostas Karmas
61cc8c9a95 Remove reference to JIRA ticket in comments
CURA-7646
2020-08-10 14:58:59 +02:00
Kostas Karmas
2828f45e89 Add optional machine_extruder_count when creating a machine
If the machine_extruder_count is not taken into consideration on machine creation, calling the
extruderList of that machine will return an incomplete list of extruders (since it considers the
default machine_extruder_count). This causes problems in machines with settable number of extruders
where the default machine_extruder_count is 1 while the machine may have more than 1 extruders.

The problem becomes especially visible when opening a project file with e.g. a CFFF with multiple
extruders, because when the machine is created we do not know yet how many extruders the printer
actually has.

CURA-7646
2020-08-10 14:49:41 +02:00
Ghostkeeper
e7d95f6d90
Give an error message when stack fails to build
This way we may venture at a reason why it failed to build.
2020-08-10 11:26:09 +02:00
Jaime van Kessel
724498cba7
Reset quality if none was found
CURA-7589
2020-08-06 17:12:14 +02:00
Jaime van Kessel
f9c6bbb092
Fix strict noneCHeck mypy issue 2020-07-29 12:24:38 +02:00
Jaime van Kessel
fb2f40fba7
Add missing typing 2020-07-29 12:12:54 +02:00
Jaime van Kessel
65377770c4
Remove invalid quality_changes from the container registry
Fixes CURA-3T
2020-07-29 12:03:03 +02:00
Jaime van Kessel
6934e9521f
Make sure that loading an invalid container gets handled correctly
Previously it would still add them, which caused issues.
2020-07-29 11:08:10 +02:00
Nino van Hooff
649cc4a881 Replace support_tree_enable by a support_structure enum
CURA-6711
2020-07-09 17:17:40 +02:00
Konstantinos Karmas
c6fd25e7e9
Merge pull request #7971 from Ultimaker/CURA-7106-Speedup-multiple-objects-on-build-plate
CURA-7106 Speedup multiple objects on build plate
2020-06-29 12:36:02 +02:00
Ghostkeeper
ffac9adb96
Add default for extruder position
The position argument metadata always be there. However if it's not (because the file is old, or manually modified, or a version upgrade worked incorrectly, or whatever) then we shouldn't crash. We just don't know how to order it correctly then. This tries to repair it as best it can.
2020-06-25 15:08:08 +02:00
Jaime van Kessel
68807d99d2
Fix issue that no disallowed areas were show if there were no active objects
CURA-7106
2020-06-24 15:18:20 +02:00
Jaime van Kessel
7e8e051eb2
Short circuit finding the extruders that are active
CURA-7106
2020-06-23 13:38:00 +02:00
Jaime van Kessel
f9b288f3c6
Move checking for some global features outside of the per node loop
CURA-7106
2020-06-23 13:24:22 +02:00
Jaime van Kessel
1f698fd664
Further simplify the getUsedExtruderStacks function
Should be a tiny bit faster

CURA-7106
2020-06-23 13:13:49 +02:00
Jaime van Kessel
1d9c92c47f
Use cached values for anti overhang and support mesh
CURA-7106
2020-06-23 13:08:03 +02:00
Jaime van Kessel
1dc688dd4a
Prevent double updateNextStack during deepcopy
CURA-7106
2020-06-23 11:40:52 +02:00
Jaime van Kessel
4729bd1d0f
Remove unneeded check from deepcopy of settingoverride decorator
CURA-7106
2020-06-23 11:32:57 +02:00
Kostas Karmas
d0d7e671ed Make the deletion of the definitionChanges safer
Just in case findContainerStacks returns an empty list
2020-06-23 10:56:48 +02:00
Jaime van Kessel
737a9faa5f
Speed up the objects model
It was using a few expensive calls that had already been cached.

CURA-7106
2020-06-23 10:32:42 +02:00
Jaime van Kessel
16bc2071ee
Cache values to speed up the rendering
CURA-7106
2020-06-22 16:49:42 +02:00
Jaime van Kessel
1b973b3f3c
Remove bit of code duplication
CURA-7106
2020-06-22 16:31:37 +02:00
Nino van Hooff
5e921698b2
Merge pull request #7947 from Ultimaker/CURA-7522_Removing_printer_created_by_projectfile_removes_original_printer
CURA-7522: Removing printer created by project file also removes the original printer
2020-06-19 16:39:03 +02:00
Jaime van Kessel
f0002e265b
Mark recently constructed stacks as not dirty
The stacks would get marked dirty for setting some metadata, but since thats
part of their construction, they aren't really dirty.

Previously, every single stack that was loaded would be marked as dirty, which causes unneeded
saving.
2020-06-18 17:39:58 +02:00
Kostas Karmas
364769d821 Remove only the hidden printers when removing a printers
When printers share the same group_id, they are removed, regardless if
they are hidden or not. This was resulting in sometimes removing
multiple printers when removing a printer that was created by a project
file.
This PR fixes that by actually checking whether the printer to be
removed is hidden.

CURA-7522
2020-06-18 13:49:50 +02:00
Jaime van Kessel
466ec7c42a
Remove duplicated variable
It was holding the same data as extruders_to_disable
2020-06-18 11:08:17 +02:00
Jaime van Kessel
930d92869a
Fix syncing empty material with cloud
For some reason the cloud gives a 0000 guid when the material is empty.
2020-06-18 11:03:40 +02:00
Kostas Karmas
984426fabb Merge branch 'master' into CURA-7454_Add_remove_printers_button_in_removed_printers_from_account_message 2020-06-10 12:06:41 +02:00
Nino van Hooff
feeeb972f7
Merge pull request #7873 from Ultimaker/CURA-7438_Show_cloud_connection_not_available_printer_removed_from_account
CURA-7438 Handle the case when a cloud printer is removed from the account
2020-06-10 11:46:10 +02:00
Jaime van Kessel
ed53557044
Merge branch 'master' of github.com:Ultimaker/Cura 2020-06-09 16:53:33 +02:00