700 Commits

Author SHA1 Message Date
Remco Burema
8aa071056b
Now unused API field only took integers originally.
We want to keep it this way so people can still make plugins work for older versions of Cura, like 3.6, where the 'api' field with just a single major version, instead of the 'supported_sdk_versions', which can be either a version-string like '7.6.0' or a list of version strings.
2021-06-17 11:15:33 +02:00
Remco Burema
04002056ae
Update SDK/API from 7.5.0 to 7.6.0 for 4.10
CURA-8320
2021-06-15 16:08:07 +02:00
Ghostkeeper
08be77adad
Increment SDK version to 7.5.0
The Cura 4.9 release will have expanded functionality. If you have a plug-in that uses this functionality, marking it as using SDK 7.5.0 will notify older Cura releases that they can't use that plug-in.
2021-04-06 13:28:08 +02:00
Remco Burema
f2088d7fc8
Don't take snapshot if no main window present.
You'll need the Uranium branch of the same (fix_is_visible) name if you don't want this to crash on slicing!
2021-01-29 07:59:54 +01:00
Ghostkeeper
a9bf3ed934
Revert "Small fix for slice before main window visible."
This reverts commit 35d6aad6cd7e8a16fbb829dcf8f0b70db12d0028.
This is causing a very weird crash when autoslice is enabled:
2021-01-28 12:12:35,379 - CRITICAL - [MainThread] cura.CrashHandler.__init__ [66]: An uncaught error has occurred!
2021-01-28 12:12:35,379 - CRITICAL - [MainThread] cura.CrashHandler.__init__ [69]: Traceback (most recent call last):
2021-01-28 12:12:35,379 - CRITICAL - [MainThread] cura.CrashHandler.__init__ [69]:   File "/home/trin/Gedeeld/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py", line 270, in slice
2021-01-28 12:12:35,380 - CRITICAL - [MainThread] cura.CrashHandler.__init__ [69]:     self._createSnapshot()
2021-01-28 12:12:35,380 - CRITICAL - [MainThread] cura.CrashHandler.__init__ [69]:   File "/home/trin/Gedeeld/Projects/Cura/cura/Utils/Threading.py", line 31, in _call_on_qt_thread_wrapper
2021-01-28 12:12:35,380 - CRITICAL - [MainThread] cura.CrashHandler.__init__ [69]:     return func(*args, **kwargs)
2021-01-28 12:12:35,380 - CRITICAL - [MainThread] cura.CrashHandler.__init__ [69]:   File "/home/trin/Gedeeld/Projects/Cura/plugins/CuraEngineBackend/CuraEngineBackend.py", line 254, in _createSnapshot
2021-01-28 12:12:35,380 - CRITICAL - [MainThread] cura.CrashHandler.__init__ [69]:     if not CuraApplication.getInstance().isVisible:
2021-01-28 12:12:35,380 - CRITICAL - [MainThread] cura.CrashHandler.__init__ [69]: AttributeError: 'CuraApplication' object has no attribute 'isVisible'

The property exists all right. It's in the dir() of the CuraApplication instance. PyCharm's debug mode also gives a traceback when trying to evaluate the property. It clearly thinks it's there, but then it's not or something. Very weird. We need to take a better look at this than this quick fix.
2021-01-28 12:23:01 +01:00
Ghostkeeper
678516186e
Revert "Don't call @property function"
This reverts commit 3921cc86d1e3b9e86c5cd0a27cdc83be01b25106.
2021-01-28 12:22:47 +01:00
Ghostkeeper
3921cc86d1
Don't call @property function
It directly returns the boolean. No need to call it. Calling it crashes saying that a bool object can't be called.
2021-01-28 11:48:18 +01:00
Remco Burema
35d6aad6cd
Small fix for slice before main window visible. 2021-01-28 11:41:46 +01:00
Remco Burema
f4ef3b44e3
Properly retrieve snapshot (now made on slice).
Circumvents the snapshot/thumbnail not working when the focus is not on the main window, even if the thread is main. This was an issue when writing a file to Digital Factory becasue that workflow uses a modal window.

Thanks for the idea Jelle!
2021-01-21 08:55:45 +01:00
Remco Burema
4fc0612806
Make a snapshot on slice instead of write.
In some cases, UFP-writing is going to be done when the OpenGL-context is off the main window. This doesn't work. That unfortunately also goes for this commit, but it's a work in progress.
2021-01-21 08:19:17 +01:00
Jaime van Kessel
10ed7c1288
Merge branch '4.8' of github.com:Ultimaker/Cura 2020-10-22 13:41:44 +02:00
Kostas Karmas
03dc8d00fe Up the SDK version to 7.4.0
In preparation for release of the 4.8.

CURA-7795
2020-10-22 11:29:25 +02:00
Ghostkeeper
452fe3972f
Don't cache CuraApplication singleton
This is causing a crash if self._application is used before the __init__ has finished (or at least passed the definition of self._application). That can happen in this class since some functions are called asynchronously.
It would also make writing tests easier because you can mock the getInstance() function to return a mock object, and only need to monkeypatch that for the function under test rather than also for the constructor.

Fixes Sentry issue CURA-1B5.
2020-10-16 12:05:21 +02:00
Kostas Karmas
21b9c0639d Exclude objects outside buildplate from OneAtATimeIterator
CURA-7776
2020-10-14 17:14:38 +02:00
Kostas Karmas
bd54ef8d5a Update the SDK version to 7.3.0 for 4.7
CURA-7641
2020-08-07 11:12:27 +02:00
Jaime van Kessel
05f35a07e4
Fix mypy issues
For some reason my local mypy didn't spot them but the CI did.

CURA-7106
2020-06-24 15:40:33 +02:00
Jaime van Kessel
90c6183634
Add process events triggers to startSliceJob
Prevents a freeze when the setting message is being calculated

CURA-7106
2020-06-23 14:12:28 +02:00
Jaime van Kessel
3985406634
Speed up generation of extruder message
CURA-7106
2020-06-23 14:06:13 +02:00
Jaime van Kessel
e001839512
Replace getUsedExtruderNumbers with the faster alternative
CURA-7106
2020-06-23 13:53:28 +02:00
Nino van Hooff
89f0970a88 Remove trailing whitespace from Python files 2020-05-29 14:30:33 +02:00
Nino van Hooff
58ffc9dcae Merge remote-tracking branch 'origin/master' into doxygen_to_restructuredtext_comments
# Conflicts:
#	cura/API/__init__.py
#	cura/Settings/CuraContainerRegistry.py
#	cura/Settings/ExtruderManager.py
#	plugins/PostProcessingPlugin/scripts/PauseAtHeight.py
#	plugins/UM3NetworkPrinting/src/Cloud/CloudApiClient.py
#	plugins/UM3NetworkPrinting/src/Cloud/ToolPathUploader.py
#	plugins/UM3NetworkPrinting/src/Network/LocalClusterOutputDeviceManager.py
2020-05-28 17:31:24 +02:00
Ghostkeeper
2125b7130f
Use extruderList rather than extruders
Extruders has been deprecated.
This also allows us to use integers for a while longer (until it needs to be serialised to a message with the .join() function).

Done during Turbo Testing and Tooling to reduce the number of warnings in our log.
2020-05-15 16:18:05 +02:00
Nino van Hooff
176919eee0 Merge branch 'master' into doxygen_to_restructuredtext_comments
# Conflicts:
#	plugins/CuraEngineBackend/CuraEngineBackend.py
#	plugins/CuraEngineBackend/StartSliceJob.py
2020-05-08 15:31:23 +02:00
Nino van Hooff
797d6ed438 Convert doxygen to rst for CuraEngineBackend 2020-05-08 15:23:51 +02:00
Jaime van Kessel
245a4435e1
Also handle sceneChanged when it's from the root
The rest of the code also seems to expect that
2020-05-01 14:39:23 +02:00
Ghostkeeper
add9be387b
Fix crash when creating a socket before the plug-in is fully registered
The plug-in ID is set once the register function is completed, so after initialisation. If the _createSocket function is called in between, Cura would crash.
I don't know why the _createSocket function would be called in between, but possibly another plug-in causes an event that calls it since it's being called on many events (everything that would initiate a reslice).

Fixes Sentry issue CURA-K4.
2020-04-23 11:38:27 +02:00
Nino van Hooff
7302e8ba7f Update missed sdk versions from 7.1 to 7.2.0 for Cura 4.6
CURA-7383
2020-04-21 11:46:12 +02:00
Jaime van Kessel
28b8ba3748
Only check changed settings (and whatever it affects) for errors in POS
CURA-7329
2020-04-15 11:31:15 +02:00
Matt Jani
43ab23439b Fixed small typo in nothing to slice
CURA-7277
2020-03-10 11:05:30 +01:00
Matt Jani
3887814660 Update the nothing to slice message
The message didn't list all the cases that it could pop up.

CURA-7277
2020-03-10 10:59:33 +01:00
Jaime van Kessel
1a44aa6d2e
Ignore comments when checking for temperature prepends
Fixes #7124
2020-02-27 10:47:32 +01:00
Ghostkeeper
d9ddb438f8
Merge branch '4.5' 2020-02-10 11:36:07 +01:00
Ghostkeeper
6f707f3149
Bump SDK version number of Cura 4.5 to 7.1
We've added new things to our API. This allows plug-in developers to use them.

Contributes to issue CURA-7205.
2020-02-10 10:45:07 +01:00
Lipu Fei
b03f666bf5 WIP: Make it work with Python 3.7 packaing 2020-02-07 23:14:47 +01:00
Ghostkeeper
d18c0703b4
Fix getting correct initial extruder number
As found in the discussion in #6847.

This was done as a 5 minute fix.
2020-01-16 13:59:02 +01:00
Jaime van Kessel
ab6effb712
No longer use sceneLock for startSliceJob 2020-01-16 12:58:01 +01:00
Jaime van Kessel
11d176137f
Remove usage of deprecated function 2020-01-06 15:02:33 +01:00
Ghostkeeper
36d4162f35
Fix fallback to global if extruder_nr doesn't exist
Fixes #6590.
2019-11-01 13:19:16 +01:00
Nino van Hooff
c62ff262ed Change SDK version to 7.0.0
CURA-6858
2019-10-21 14:51:34 +02:00
Remco Burema
25d76aee5a Workaround: Make the type-checker understand what's going on. 2019-10-18 14:46:44 +02:00
Mark Burton
82bd89991e Improve code style. 2019-10-17 16:43:07 +01:00
Mark Burton
f3f9a2393f Return early from _checkStackForErrors() if top container is empty. 2019-10-17 09:21:24 +01:00
Jaime van Kessel
23469948f6
Fix translation mistake in a message 2019-10-08 13:58:31 +02:00
Jaime van Kessel
0ff9d72c4c
Remove use of deprecated extruders property 2019-09-13 17:27:16 +02:00
Lipu Fei
0524796145 Do not trigger slicing if there's no slicable object
CURA-6604
2019-09-03 20:01:41 +02:00
Mark Burton
41d7a705e6 Avoid crash due to race in CuraEngineBackend. 2019-08-29 21:35:13 +01:00
Ghostkeeper
23f4aa6e4f
Fix potential race condition when slice messages arrive after clearing build plate
Fixes #6245.
2019-08-26 09:15:37 +02:00
Jaime van Kessel
e0c2611a0a Merge branch '4.2' of github.com:Ultimaker/Cura 2019-07-26 12:47:13 +02:00
Jaime van Kessel
8311a39f08 Fix case where an error in the stack would not prevent slicing
CURA-6680
2019-07-25 09:42:00 +02:00
Jaime van Kessel
d8ddcba091 Fix typing ignore for breath frist iterator 2019-07-23 13:40:40 +02:00