24518 Commits

Author SHA1 Message Date
Kostas Karmas
eedbcb6a2d Fix z position of objects that end outside the buildplate
When multiplying objects or inserting objects in the scene that do not fit in the buildplate, those
objects would correctly end up outside the buildplate, but their Z position would be aligned at the
absolute Z=0 of the buildplate.

This commit fixes that by compensating in the z-axis, properly moving the object outside the
buildplate in the correct z-position so that it's bottom is aligned with the original object.

CURA-7440
2020-10-09 15:59:50 +02:00
Kostas Karmas
0922f03ca5 Merge branch 'CURA-7440-pynest2d_for_arrange' of https://github.com/Ultimaker/Cura into CURA-7440-pynest2d_for_arrange 2020-10-09 13:52:07 +02:00
Remco Burema
d3ec1d7d28
Cache wasn't valid due to a reference being stored, not a copy.
paer of CURA-7440
2020-10-09 13:39:53 +02:00
Kostas Karmas
8678682d94 Reformat file and remove unused import
CURA-7440
2020-10-08 16:27:36 +02:00
Jaime van Kessel
a46bf8d6fa
Apply suggestions from code review
CURA-7440

Co-authored-by: Konstantinos Karmas <konskarm@gmail.com>
2020-10-08 09:43:22 +02:00
Jaime van Kessel
d801f9838a
Fix mypy issues
It doesn't seem to like blanket imports

CURA-7440
2020-10-05 14:52:50 +02:00
Jaime van Kessel
59b9639d87
Don't let arranger place all objects on the same spot if they don't fit
CURA-7440
2020-10-05 14:31:42 +02:00
Jaime van Kessel
a14135be5e
Add some documentation to the arrange nest algorithm
CURA-7440
2020-10-05 14:24:34 +02:00
Jaime van Kessel
9312dc5c07
Add deprecated tag to arranger
CURA-7440
2020-10-05 14:15:49 +02:00
Jaime van Kessel
a1f43e7bcf
Also use the new arranger when multiplying objects 2020-10-05 14:09:50 +02:00
Jaime van Kessel
5823140b21
Always add multiplied nodes to the root.
No idea why it was using the parent of the current node. It's
technically the same, but this is much more explicit

CURA-7440
2020-10-05 13:45:24 +02:00
Jaime van Kessel
30966beed2
Let autoplacement also take the existing nodes into account
CURA-7440
2020-10-05 13:37:57 +02:00
Jaime van Kessel
a34f1a6504
Arrange newly placed models
CURA-7440
2020-10-05 13:14:21 +02:00
Jaime van Kessel
2d084c9e2b
Remove the old arrange from mesh placement on load
For some reaso it was also handling the move up to the buildplate (which it
really shouldn't do)

CURA-7440
2020-10-05 13:08:28 +02:00
Jaime van Kessel
274dc8d06c
Split up arrange
This splits up the finding of new positions with the actual move. This is needed
for when we want to place new nodes on model load.

CURA-7440
2020-10-02 11:21:57 +02:00
Jaime van Kessel
c25351c98a
Remove unused imports
CURA-7440
2020-10-02 10:06:41 +02:00
Jaime van Kessel
8c1985cdb3
Move nest2darrange to it's own function
This makes it a lot easier to re-use it

CURA-7440
2020-10-02 10:06:09 +02:00
Jaime van Kessel
c33c025a6c
Add getters for Width/height/depth to build volume
CURA-7440
2020-10-02 10:04:46 +02:00
Jaime van Kessel
e0e65b91b5
Take disallowed areas into account when arranging
CURA-7440
2020-09-30 10:34:35 +02:00
Jaime van Kessel
73289b2a77
Place objects that we couldn't fit next to the buildplate
CURA-7440
2020-09-28 16:21:47 +02:00
Jaime van Kessel
b0a8a5ccab
Switch out the arranger algorithm for arrange all
CURA-7440
2020-09-28 16:16:47 +02:00
Jaime van Kessel
d16ab4fdd6
Merge branch '4.6' of github.com:Ultimaker/Cura 2020-09-21 15:44:51 +02:00
Konstantinos Karmas
c654718d8f
Merge pull request #8406 from Ultimaker/shrinkage_percentage_limits
Remove shrinkage percentage setting alias
2020-09-18 15:57:05 +02:00
Ghostkeeper
1d5a4f5080
Remove shrinkage percentage setting alias
This alias shouldn't be written any more since the firmware misinterprets the setting value and errors when it's more than 100%.

Contributes to issue CURA-7724.
2020-09-18 12:48:02 +02:00
Ghostkeeper
0ecefde880
Defensive coding: Don't get the linked material if there is no material
Fixes Sentry issue CURA-17W.
2020-09-18 11:24:39 +02:00
Kostas Karmas
bd02f9116a Fix TypeError if USBPrinting plugin path is not found
Fixes CURA-17T sentry issue
2020-09-17 15:34:43 +02:00
Jaime van Kessel
dd359da1cf
Prevent crash when material is unknown
Fixes CURA-GV
2020-09-16 16:37:09 +02:00
Ghostkeeper
0029221fd5
Set Support Join Distance and Support Horizontal Expansion as per-extruder settings
This is how CuraEngine's algorithms use them. They don't have access to which mesh the support originally belonged to.

Fixes #8383.
2020-09-16 14:56:23 +02:00
Remco Burema
e7416c1b1c
Fix prime tower y position. 2020-09-16 11:30:11 +02:00
Remco Burema
d1f5c7de05
Merge pull request #8363 from Ultimaker/CURA-7691_Unclear_why_imported_profile_is_not_immediately_visible
CURA-7691: Unclear why imported profile is not immediately visible
2020-09-16 08:28:35 +02:00
Remco Burema
3fcd7d567f
Show warning icon on import non-visible profile.
part of CURA-7691
2020-09-16 08:26:41 +02:00
Ghostkeeper
a1c3c44ed0
Fix warning limit for prime tower minimum volume to take other extruders into account
Since the prime tower for other extruders is now folded into one instead of alternating the layers, you need to have enough diameter to print all extruders, not just the current extruder.

Fixes one side-issue mentioned in #8148.
2020-09-15 13:43:06 +02:00
Ghostkeeper
10f8c381e1
Use initial layer settings during start g-code
Fixes #8364.
2020-09-15 11:58:00 +02:00
Evangelos Trantos
548e6e19e5
Remove the opening of the mycloud/digital factory URL in cases where the user has already signed in.
In cases where a staging build is created this hardcoded value would cause confusion, since it would always point the user to the production environment.
2020-09-14 21:20:38 +02:00
Evangelos Trantos
f906017835
Add the CURA_DIGITAL_FACTORY_URL variable
This way its value will be imported in the UltimakerCloudConstants.py file and be used throughout the application.
2020-09-14 21:15:32 +02:00
Evangelos Trantos
fc4de53269
Add the CURA_DIGITAL_FACTORY_URL variable in the CMakeLists file.
In this way it can be used as an argument during the Cura build configuration.
2020-09-14 21:13:05 +02:00
Konstantinos Karmas
36a2535650
Merge pull request #8297 from Ultimaker/CURA-7118_shrinkage_compensation
Shrinkage compensation
2020-09-11 14:22:33 +02:00
Kostas Karmas
0524e8d129 Fix missing quality profile when message says its successful
Make sure to add the container before doing any other checks. Then, if the importing fails, remove
all the profiles related to that quality.

CURA-7691
2020-09-11 11:35:39 +02:00
Kostas Karmas
665496ceff Warn when importing quality profiles that don't match the current configuration
When importing a profile that doesn't much the current nozzle combination (e.g. importing a 'high'
quality when we have AA0.8 and AA0.4 nozzles), the profile was being accepted and a success message
was shown to the user, but the quality did not show up in the profile list.

This commit fixes that by accepting the quality profile and informing the user that the profile is
not visible due to the current configuration.

CURA-7691
2020-09-10 16:58:30 +02:00
Kostas Karmas
2e240b646d Fix failing tests
A printer was added in the meantime that had setting_version = 15, which was leading to failing
tests, considering that this PR has changed the setting version to 16.

CURA-7118
2020-09-09 09:51:45 +02:00
Kostas Karmas
85f113a683 Merge branch 'master' into CURA-7118_shrinkage_compensation 2020-09-09 09:46:29 +02:00
Jelle Spijker
0725bdcd64
Merge pull request #8335
Speed up disable extruder
2020-09-09 09:42:36 +02:00
Ghostkeeper
765004cd68
Take node groups into account when computing the centre of the mesh group
These groups were not considered because they are not sliceable. Their children are sliceable, so I could just use a DepthFirstIterator. However their group computes the AABB correctly also, so taking the AABB of the group is more efficient.

Contributes to issue CURA-7118.
2020-09-08 17:54:09 +02:00
Ghostkeeper
d3e5f9ec93
Don't re-scale convex hulls for groups
The convex hulls for groups are already constructed from the convex hull of the convex hulls of all of their children. Since the children's convex hulls are already scaled, we don't want to scale it again for the group.

Contributes to issue CURA-7118.
2020-09-08 17:45:38 +02:00
Konstantinos Karmas
9156b2b922
Merge pull request #8200 from oducceu/master
Add 'Flying Bear Ghost 5' printer
2020-09-08 17:00:14 +02:00
Ghostkeeper
1ce8ef3293
Catch OSError and related errors when saving workspaces
This should prevent a crash when saving to a path that the file system doesn't support (because of e.g. disallowed symbols in the file name).

Instead it will now show an error message to the user.

Fixes Sentry issue CURA-157.
2020-09-08 13:01:10 +02:00
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
Ghostkeeper
59669f6bad
Apply bitmask to user scope
As discussed, this is a method to prevent leaking personally identifiable information through crash reports, while still keeping the useful information for the developers on how widely spread the crashes are.
2020-09-08 02:00:58 +02:00
Kostas Karmas
43969c8074 Merge branch 'master' of https://github.com/Ultimaker/Cura 2020-09-07 16:37:02 +02:00
Kostas Karmas
17177eccfa Remove unused keyword argument
I18ncp already puts the number of printers in the text, so the keyword argument is not longer
necessary.

CURA-7665
2020-09-07 16:33:16 +02:00