99 Commits

Author SHA1 Message Date
c.lamboo
75feb5ae38 Don't create abstract printers if visibility is set to false
CURA-11138
2023-10-31 15:35:56 +01:00
Jaime van Kessel
8dc2eaf783
Move CreateFlattendContainerInstance to InstanceContainer
It didn't really belong in the stack builder, as it's not a containerstack

CURA-9224
2022-09-13 13:35:37 +02:00
joeydelarago
ee7c8d1f02 Move creatFlattenedContainerInstnance into CuraStackBuilder so it can be reused.
CURA-9224
2022-09-05 10:42:48 +02:00
Jaime van Kessel
4b2d03fe1d
Don't show warning message if creating abstract printer failed 2022-09-05 10:27:03 +02:00
Jaime van Kessel
506f2b9820
Remove code duplication in createAbstractMachine
This also caused a crash when an abstract machine with multiple extruders was selected

CURA-8463
2022-08-26 14:08:03 +02:00
c.lamboo
8b84db7059 Remove AbstractMachine
Having a separate class for the AbstractMachine complicated things; it's behaviour was extremely similar to the GlobalStack so adding one more stack container type in addition to the many similar setting container types we already have adds complexity to the system. Having these different classes for machines and abstract machines also add complexity to the update script as the abstract machines were stored in a separate folder from the machine types.

Because of these reasons we decided to replace the AbstractMachine by a GlobalStack where the is_abstract_machine property metadata property is set to True.

CURA-9514, CURA-9277

Co-authored-by: joeydelarago <joeydelarago@gmail.com>
2022-08-26 10:45:45 +02:00
joeydelarago
04580b8fdc Simplify logic by having abstract printers always be online.
CURA-9221
2022-08-24 14:33:04 +02:00
c.lamboo
5884aa3311 Add comment about circular import
Cura-9277

Co-authored-by: joeydelarago <joeydelarago@gmail.com>
2022-08-22 15:03:48 +02:00
c.lamboo
f6bf7050fb Revert "Move cura-import to top of the file"
This reverts commit 5082e64f0c1d60e4820a3ba35fd3ca82c8be3051.
2022-08-22 15:01:51 +02:00
c.lamboo
5082e64f0c Move cura-import to top of the file
Cura-9277

Co-authored-by: joeydelarago <joeydelarago@gmail.com>
2022-08-22 14:58:32 +02:00
Casper Lamboo
35502e45fa
Apply suggestions from code review
CURA-9277

Co-authored-by: Jelle Spijker <j.spijker@ultimaker.com>
2022-08-22 14:48:04 +02:00
Casper Lamboo
5761b3f27b
Typing
CUR-9277

Co-authored-by: Jelle Spijker <j.spijker@ultimaker.com>
2022-08-22 14:35:07 +02:00
Casper Lamboo
77a179be76
Code style
CURA-9277

Co-authored-by: Jelle Spijker <j.spijker@ultimaker.com>
2022-08-22 14:32:59 +02:00
c.lamboo
d7f119415f Use pretty-printed string for the AbstractMachine name
Cura-9277

Co-authored-by: joeydelarago <joeydelarago@gmail.com>
2022-08-19 16:35:00 +02:00
joeydelarago
b82f1f4a8c Add new Abstract machine stack type. This represents a type of printers (ultimaker_s3 etc).
These are created whenever a cloud printer of a new printer type is added.

CURA-9277

Co-authored-by: casperlamboo <c.lamboo@ultimaker.com>
2022-08-19 13:53:43 +02:00
Jaime van Kessel
e4e993a44e Fail gracefully when adding unknown cloud printer 2022-04-19 15:43:31 +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
Kostas Karmas
61cc8c9a95 Remove reference to JIRA ticket in comments
CURA-7646
2020-08-10 14:58:59 +02:00
Kostas Karmas
2828f45e89 Add optional machine_extruder_count when creating a machine
If the machine_extruder_count is not taken into consideration on machine creation, calling the
extruderList of that machine will return an incomplete list of extruders (since it considers the
default machine_extruder_count). This causes problems in machines with settable number of extruders
where the default machine_extruder_count is 1 while the machine may have more than 1 extruders.

The problem becomes especially visible when opening a project file with e.g. a CFFF with multiple
extruders, because when the machine is created we do not know yet how many extruders the printer
actually has.

CURA-7646
2020-08-10 14:49:41 +02:00
Ghostkeeper
e7d95f6d90
Give an error message when stack fails to build
This way we may venture at a reason why it failed to build.
2020-08-10 11:26:09 +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
Nino van Hooff
c2c96faf5f Convert remaining doxygen to rst 2020-05-28 17:13:44 +02:00
Ghostkeeper
6d3acf946a
Use new extruderList rather than extruders
The extruders dictionary has been deprecated in favour of extruderList.

Done during Turbo Testing and Tooling to reduce the number of warnings in our log.
2020-05-15 15:16:43 +02:00
Jaime van Kessel
2e9dca71ce
Remove a number of unused imports 2020-04-10 13:58:10 +02:00
Jaime van Kessel
670a106957
Be a bit more gracefull when adding a machine failed
This seems to happen for people that manually add machines to cura
but mess something up when copying the files.

CURA-3X
2020-02-28 17:03:38 +01:00
Ghostkeeper
4ffda015db
Implement lazy loading for machine nodes
Should be completely transparent. It'll fail the unit tests though because it now pretends that all printers have machine nodes.

Contributes to issue CURA-6793.
2019-10-09 10:53:58 +02:00
Jaime van Kessel
7e3f265068
Add a function to add a MachineNode to the tree.
This solves the issue that machines created by the stack builder broke the material updating

CURA-6791
2019-09-23 13:18:11 +02:00
Ghostkeeper
105e782e75
Remove unused imports to MaterialManager
Contributes to issue CURA-6776.
2019-09-20 09:57:35 +02:00
Lipu Fei
04e2ecde93 Init intent to empty_intent_container for new machine stacks
CURA-6598
2019-09-09 16:12:37 +02:00
Ghostkeeper
8f34b3dd73
Set quality profiles to preferred quality upon stack creation
A good default.
Possible bug: If there are multiple matching quality profiles but the preferred quality profiles matches none or multiple of them, a random one is chosen. The random profile for the global stack may not match the random one for the extruder?

Contributes to issue CURA-6600.
2019-08-27 09:07:23 +02:00
Ghostkeeper
431c8f4900
Build stack using container tree's preferred material/nozzle
No need to really implement the fallbacks any more for when there are no materials. Only for when the preferred material can't be found.

Contributes to issue CURA-6600.
2019-08-22 17:03:01 +02:00
Ghostkeeper
9bcd3d8c1e
Use ContainerTree to get quality groups instead of QualityManager
Contributes to issue CURA-6600.
2019-08-15 17:01:23 +02:00
Remco Burema
7fb9642e45 Replace deprecated .getContainer() calls with .container
part of CURA-6600
2019-08-15 13:40:08 +02:00
Ghostkeeper
efaa96bca3
Fix building stack from freshly-loaded definition
The definition may not have been added to the forest yet.

Contributes to issue CURA-6600.
2019-08-13 15:44:17 +02:00
Ghostkeeper
93851a95d5
Remove unused variable
Contributes to issue CURA-6600.
2019-08-13 15:04:06 +02:00
Ghostkeeper
6a8e1557c3
Merge branch 'feature_intent' into feature_intent_container_tree
Conflicts:
	.gitlab-ci.yml
	cura/Machines/MaterialManager.py
	cura/Machines/VariantManager.py
	cura/Settings/ContainerManager.py
	cura/Settings/MachineManager.py
	tests/TestMachineManager.py
2019-08-13 14:59:05 +02:00
Ghostkeeper
d710a58233
Don't require VariantManager any more from CuraStackBuilder
We now use the new container tree structure there.

Contributes to issue CURA-6600.
2019-08-08 17:31:26 +02:00
Lipu Fei
c841382bbd Add more info in exceptions 2019-08-02 11:12:16 +02:00
Jaime van Kessel
76163636a1 Fix the simple create machine test 2019-05-24 16:36:39 +02:00
Jaime van Kessel
c1818bcfbe Add test for CuraStackBuilder 2019-05-20 08:57:58 +02:00
Jaime van Kessel
986581c18a Improve logging if extruder cant be found while creating extruder stack 2019-03-13 14:18:25 +01:00
Lipu Fei
5e8dba5266 Remove some duplicate addExtruder() and setNextStack() calls 2018-10-25 11:42:47 +02:00
Lipu Fei
97e6354c13 Fix material update upon extruder-compatible diameter change
CURA-5834

Material models and the material container on an extruder need to be
updated when the extruder's compatible diameter gets changes.
2018-10-19 13:48:52 +02:00
Lipu Fei
c3e7e426ff Fix getDefaultVariantNode for UM2
CURA-5790

UM2 has optional variant which depends on whether Olsson Block is
enabled. getDefaultVariantNode() should take that into account.
2018-10-03 11:24:27 +02:00
Diego Prado Gesto
e28b662649 Clean up the code a bit and update comments.
Contributes to CURA-5736.
2018-09-18 16:04:31 +02:00
Lipu Fei
9924e3e26c Remove duplicated code
CURA-5735
2018-09-18 15:08:55 +02:00
Lipu Fei
ddc5d983a1 Fix single extrusion machines without an ExtruderStack
CURA-5736
2018-09-18 13:35:25 +02:00
Lipu Fei
013032279d Better handling of no quality group in CuraStackBuilder 2018-08-17 10:00:28 +02:00
Ghostkeeper
31e283110f
Check first if preferred quality exists
Fixes #3784.
2018-08-17 09:31:33 +02:00