733 Commits

Author SHA1 Message Date
Jelle Spijker
cccfebcc8e
Allow Cura front-end to set plugins (port & address)
This can currently be done by setting the environment variables:
- SIMPLIFY_ENABLE: default disabled, setting this to any value will enable the plugin
- SIMPLIFY_ADDRESS: defaults to localhost
- SIMPLIFY_PORT: defaults to 33700
- POSTPROCESS_ENABLE: default disabled, setting this to any value will enable the plugin
- POSTPROCESS_ADDRESS: defaults to localhost
- POSTPROCESS_PORT: defaults to 33701

Hacky for now

Contributes to CURA-10475
2023-05-19 13:33:14 +02:00
Casper Lamboo
4b43677086
Reset last slice dat in resetAndReturnLastSliceTimeStats
CURA-10299
2023-02-27 11:03:36 +01:00
Remco Burema
4efa8e3ab4 Put slice-time in slice-data-sharing.
part of CURA-10299
2023-02-23 16:03:20 +01:00
jspijker
61623720ca Update copyright using UltiMaker
Contributes to CURA-9808
2022-11-28 10:48:38 +01:00
jspijker
696c0f8547 Update company name to UltiMaker
Contributes to CURA-9808
2022-11-28 09:05:21 +01:00
Remco Burema
45fb71e966 Engine should know to (not) offset the nozzles w.r.t. disallowed areas.
part of CURA-9066
2022-10-30 17:07:21 +01:00
j.spijker@ultimaker.com
a712e7517a Add the received slice_uuid to the print information
Contributes to CURA-9031
2022-07-27 18:12:25 +02:00
Jaime van Kessel
7397497260 Add quality_name and quality_changes_name to replacement patterns
CURA-9375
Fixes #12447
2022-06-10 16:00:23 +02:00
Remco Burema
d35c862bb8 Prevent run of out-of-install executable in secure context.
SEC-257 | CURA-8968
2022-06-01 14:26:44 +02:00
Remco Burema
0232b4f639 Upgrade SDK version to 8.0.0 for Cura 5.0 2022-04-20 10:57:38 +02:00
Jelle Spijker
3f8907d02a
Merge branch 'master' into CURA-8640_PyQt6
# Conflicts:
#	cura/CuraApplication.py
#	resources/qml/Preferences/Materials/MaterialsSyncDialog.qml
#	resources/qml/Preferences/Materials/MaterialsView.qml
2022-03-24 11:53:44 +01:00
j.spijker@ultimaker.com
47588393e8
Use Arcus as namespace
Because we had to rename our Python bindings module from Arcus to pyArcus
we also changed our import downstream (Cura and Uranium). But in order
to limit the changes on our existing code we decided during the review
that we should just import pyArcus as Arcus.

Contributes to CURA-7924
2022-02-28 10:41:24 +01:00
Remco Burema
08c49c6c13 Changes needed wrt how we build Arcus with Sip 6.
part of CURA-7924
2022-02-25 14:27:06 +01:00
j.delarago
61ba4426ad Add check for build plate number to modifier mesh list.
CURA-8031
2022-02-16 16:05:43 +01:00
j.delarago
a9a533b61d Duplicate modifier meshes for all objects in one at a time mode.
CURA-8031
2022-02-16 15:15:31 +01:00
Remco Burema
abe7c1bf7f
Search/replace Qt5->Qt6.
part of upgrading Qt to v6.2: CURA-8591
2021-12-28 14:46:02 +01:00
Jaime van Kessel
87db24f14c Don't check validation for settings in error state
CURA-8656
2021-10-29 10:39:00 +02:00
Jaime van Kessel
fa3f3efbec
Merge pull request #10289 from fieldOfView/feature_material_type_name_patterns
Add {material_type}, {material_name}, {material_id} and {material_brand} as replacement patterns

CURA-8598
2021-09-24 16:17:12 +02:00
Ghostkeeper
026c4062ce
Add logging for when the user encounters errors in setting values
We want to be able to see this from the log file, to help debug issues.

Done to help with cases like #10475.
2021-09-24 14:08:55 +02:00
Ghostkeeper
0bcd5eba48
Add print_temperature to print temperature settings
This way it is recognised as a command to set the printing temperature, and will prevent Cura from putting its own temperature commands in.

Fixes issue reported here: https://www.reddit.com/r/Cura/comments/pu98kc/stop_initial_hotend_heatup/
2021-09-24 13:09:37 +02:00
luz paz
d68f375e38 Fix various typos
Found via `codespell -q 3 -S *.po,*.pot -L childs,initialy,lod,ned,te,slicable,sur,tutoriels,wont`
2021-09-07 11:33:54 -04:00
Jaime van Kessel
43fd38e48e Add missing return
This caused the slicing to not be correctly aborted when the primetower was
in the wrong location

CURA-8499
2021-08-30 13:10:10 +02:00
fieldOfView
2238234741 Add id & brand and don't send material properties to CuraEngine 2021-08-24 09:57:30 +02:00
fieldOfView
f11869034b Add {material_type} and {material_name} as replacement patterns 2021-08-16 14:28:40 +02:00
Jaime van Kessel
21a076aea4 Set type of engine crash message to Error 2021-08-12 11:17:38 +02:00
jelle Spijker
2e6a488c98
Set "Unable to slice" msgs to warning types
Contributes to CURA-8418
2021-07-28 09:47:14 +02:00
Jelle Spijker
2263969d5f
Updated message with message types
Contributes to CURA-8418
2021-07-28 08:45:42 +02:00
Ghostkeeper
503293fbeb
Revert "Also show error message if connection got reset without error code"
This reverts commit 40fe8b577d004d1357235e931ee7344b013d96ad.
2021-07-16 10:15:40 +02:00
Ghostkeeper
40fe8b577d
Also show error message if connection got reset without error code
When working with --external-backend, the engine just stops responding, and the operating system cleans up its socket connection. From Cura's front-end we then just see the socket reset. So we should interpret a reset socket to mean that the slicing process was halted.
When not working with an external backend, a crash would always give a response code and we can base it on that instead (as previously implemented).

Contributes to issue CURA-6568.
2021-07-15 17:01:07 +02:00
Ghostkeeper
623b59d0e8
Set self to be in an error state if backend crashed
Contributes to issue CURA-6568.
2021-07-15 16:52:35 +02:00
Ghostkeeper
e127f7e4b6
Move construction of slicing error message to constructor
This way we could re-use it in other places.

Contributes to issue CURA-6568.
2021-07-15 16:45:50 +02:00
Ghostkeeper
26487c5b31
Stop slicing if an error occurred
If the user has auto-slicing enabled, this causes the indeterminate progress bar to appear.
If the user doesn't have auto-slicing enabled, this causes the slice button to reappear.

Both of these indicate that something has caused slicing to be interrupted. The message should make clear why.

Contributes to issue CURA-6568.
2021-07-14 17:05:45 +02:00
Ghostkeeper
399b378ba6
Show message when slicing failed with nonzero exit code
The slicing engine should never crash. If it does though, it's best to show something to the user. Otherwise the slicing process just halts and the user will wait a long time for it to never finish.

Contributes to issue CURA-6568.
2021-07-14 17:05:44 +02:00
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