252 Commits

Author SHA1 Message Date
Erwan MATHIEU
48ddaa8861 Add a comment so that we don't forget to update the doc
CURA-12093
2024-09-06 12:20:46 +02:00
Erwan MATHIEU
ccffbea8c9 Add ability to write condition Start/End gcode parts
CURA-12093
2024-09-05 11:03:58 +02:00
Jaime van Kessel
8062d92d34
Merge branch '5.8' of github.com:Ultimaker/Cura 2024-07-24 16:16:59 +02:00
Erwan MATHIEU
eff32ea8c2 Order backend plugins by name
The engine processes the plugins based on the order they were given in. By ordering them beforehand, we ensure that they will always be processed with the same logic.

CURA-10914
2024-07-15 12:38:47 +02:00
Erwan MATHIEU
8e32672016 Only allow prepend settings to be disabled
When the printer settings say they should be disabled, they could previously be enabled if the start GCode didn't contain temperature commands. Now we can only enable them if initially enabled.

CURA-11967
2024-07-09 11:50:18 +02:00
Erwan MATHIEU
2e5e43291e Fix missing error message when slicing with disabled extruder
Following the removal of the get/setMessage methods in the Job class, the StartSliceJob has not been updated and still used them. We now use a specific variable for storing the disabled extruders and properly display them.

CURA-11904
2024-05-14 16:27:16 +02:00
Erwan MATHIEU
731ea69ebb
Merge branch 'main' into CURA-11482_sentry 2024-01-17 11:04:05 +01:00
Erwan MATHIEU
54df08f47f Fix specific extruder not being used
CURA-11536
2024-01-16 13:14:49 +01:00
Erwan MATHIEU
ab322ae703 Always send user name for Sentry if available
CURA-11482
2024-01-15 15:22:25 +01:00
c.lamboo
9d78c9ed58 Don't mutate/pollute _all_extruder_settings with additional values
CURA-11536
2024-01-15 12:39:10 +01:00
c.lamboo
5da4dfcb70 Improve unhappy flow
CURA-11536
2024-01-15 12:03:42 +01:00
c.lamboo
fe440a6643 Allow for expressions in start/end machine/extruder code extruder_nr field
CURA-11536
2024-01-15 11:52:11 +01:00
Jelle Spijker
7738059631
Add optional (opt-in) project_name to Sentry
Needed for automatic Issue handling in the future

Contributes to CURA-11482
2024-01-15 10:44:43 +01:00
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
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
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
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
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
3037320b03
Send slotID's for backend_plugins
CURA-10717
2023-07-11 15:18:52 +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
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
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
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
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
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
Kostas Karmas
21b9c0639d Exclude objects outside buildplate from OneAtATimeIterator
CURA-7776
2020-10-14 17:14:38 +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
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
28b8ba3748
Only check changed settings (and whatever it affects) for errors in POS
CURA-7329
2020-04-15 11:31:15 +02:00