764 Commits

Author SHA1 Message Date
Jelle Spijker
b3825ee1c7
actually use f string
Contributes to CURA-11482
2024-01-10 05:40:10 +01:00
Jelle Spijker
5744371f38 Add anonymous user tracking to slice message
User tracking has been added to the 'slice_message' method in the 'StartSliceJob.py' file. A unique, anonymous UUID is generated for each user, stripping away identifiable data with a bitmask operation. The user's Cura version is also included in the message. This facilitates more robust analysis of crash reports and user behaviors.

Contributes to CURA-11482
2023-12-17 17:44:30 +01:00
Jelle Spijker
a6218c3f54
Use cura sentry id and version
Contribute to CURA-11482
2023-12-15 18:08:46 +01:00
Casper Lamboo
1dc350012d
Merge branch 'main' into CURA-11364_add_sentry_engine 2023-11-30 09:29:47 +01:00
Jaime van Kessel
593e959dd5
Use cleaner notation for use_sentry env variable
CURA-11364

Co-authored-by: Casper Lamboo <c.lamboo@ultimaker.com>
2023-11-29 10:42:12 +01:00
Jaime van Kessel
60bf2fbc2c
Add preference to disable sentry engine crash reporting
CURA-11364
2023-11-21 14:01:58 +01:00
Casper Lamboo
afe3f54167
Remove debug statements
Co-authored-by: Jaime van Kessel <nallath@gmail.com>
2023-11-17 11:00:50 +01:00
c.lamboo
36f2deea1d Fix some more parsing issues
Example of issues we had is that parsing floating point numbers would parse the dot as an attribute syntax and trying to retrieve both sides of the attributes to the get_value resolve. E.g `3.14` would be interpreted as getting the `14` property of the object `3`, which ofcourse throws an error.

CURA-11347
2023-11-16 14:45:46 +01:00
c.lamboo
036516b8f9 Re-add support for post slice data variables in start/end gcode
With previous implementation we lost support for these variables in start/end gcode
"filament_cost", "print_time", "filament_amount", "filament_weight", "jobname"

CURA-11347
2023-11-16 13:53:43 +01:00
c.lamboo
e98240fb2c Cleanup code in GcodeStartEndFormatter
CURA-11155
2023-10-13 07:36:45 +02:00
c.lamboo
14afd73c19 Make sure default variables are available in start/end code
The following properties are not settings-names, but could previously be used as template variables
- material_id
- time
- date
- day
- initial_extruder_nr
- material_id
- material_name
- material_type
- material_brand
- time
- date
- day
- initial_extruder_nr
These properties are _awkwardly_ propogated through the kwargs of the `get_value` method of `GcodeStartEndFormatter`. I don't quite like implementing it like this, but to avoid API breaks I couldn't change abusing the kwargs arg for this purpose.

CURA-11155
2023-10-12 21:09:10 +02:00
c.lamboo
c3f3a86385 Extend start/end gcode templates feature with support for formula's
CURA-11155
2023-10-12 16:53:39 +02:00
c.lamboo
d4449c680f Find available port when starting backend plugin
CURA-11067
2023-09-20 11:24:28 +02:00
Jelle Spijker
45510d04ed
Added ability for backend plugins to determine their usability
Modified BackendPlugin.py and StartSliceJob.py to allow plugins to decide when they should be used. The 'usePlugin'
method was added to enable a plugin to return a boolean indicating if it should be used or not, e.q.: start up and
connect to the services.

Contributes to CURA-11031
2023-09-13 07:22:07 +02:00
Remco Burema
015e635213 Engine-plugins wouldn't always close.
... because the code to terminate them wasn't always called. Especially annoying on Windows, since the sub-program could aparently become a zomboid after termination of the main one(s).

I guess this is still part of the still open CURA-10475 'branch' in a way? There is no other ticket that fits at the moment.
2023-08-29 22:46:35 +02:00
Jelle Spijker
037a462c97
Merge branch 'CURA-10475_engineplugin' into CURA-10446_modify_gcode_path 2023-08-21 14:05:43 +02:00
Jelle Spijker
f634a5bd44 Send over plugin name and version
Might be needed during the handshake between engine and plugin

Contributes to CURA-10619
2023-08-15 11:27:15 +02:00
c.lamboo
c1acfee5f1 Merge branch 'CURA-10475_engineplugin' into CURA-10446_modify_gcode_path 2023-08-11 15:08:59 +02:00
Jelle Spijker
dead016ed9 Add error messages to BackendPlugin and enhance exception handling
Exception handling in BackendPlugin has been improved by adding
user-friendly error messages for various exceptions. Errors during
backend plugin start or stop will now trigger a message to the user,
providing more context about the cause of the failure. This makes it
easier for users to understand and resolve possible issues. In addition,
 the EngineBackend stop function has been modified to forcibly stop all
 running backend plugins instead of allowing multiple plugins to run
 simultaneously.
2023-08-10 05:56:24 +02:00
Jelle Spijker
2240db9062
Add GCodePathsModify
Contributes CURA-10446
2023-08-07 16:04:25 +02:00
Jelle Spijker
f9d4eb9554
Sync Cura.proto with other repo's
Contributes CURA-10475
2023-08-01 07:47:22 +02:00
Jelle Spijker
129e0d04b0
Sync used SlotID
Contributes to CURA-10717 and CURA-10475
2023-07-14 09:27:39 +02:00
Jelle Spijker
4aae50396b
Merge remote-tracking branch 'origin/CURA-10717_Engine_plugin_orchestration' into CURA-10475_engineplugin
# Conflicts:
#	plugins/CuraEngineBackend/Cura.proto
#	plugins/CuraEngineBackend/StartSliceJob.py
2023-07-12 18:35:21 +02:00
Jaime van Kessel
d37afe7880
Actually call startPlugins before slicing
CURA-10717
2023-07-11 15:21:36 +02:00
Jaime van Kessel
3037320b03
Send slotID's for backend_plugins
CURA-10717
2023-07-11 15:18:52 +02:00
Jaime van Kessel
4aebd755b2
Clarify documentation of startBackendPlugin function
CURA-10717
2023-07-11 11:43:15 +02:00
Jaime van Kessel
bf32b83c82
Move signal definition to top of file
It's easier to understand what is going on if the signal definitions are not spread out

CURA-10717
2023-07-11 11:38:21 +02:00
Jaime van Kessel
19a4e0d2f8
Fix bunch of comments violating max line length
Boyscouting

CURA-10717
2023-07-11 11:37:31 +02:00
Jaime van Kessel
5d74f2d250
Convert typing in CuraEngineBackend to modern style
Boyscouting

CURA-10717
2023-07-11 11:30:49 +02:00
Jaime van Kessel
f3bc7bf28a
Move backend plugin logic to Cura from Uranium
I was running into abstraction issues when it was defined in Uranium.
Instead of trying to fight those, it's just easier to move it to Cura

CURA-10717
2023-07-11 11:24:28 +02:00
Jaime van Kessel
26bf00ccc0
Add backend_plugin messages to proto file
CURA-10717
2023-07-10 13:25:29 +02:00
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