138 Commits

Author SHA1 Message Date
c.lamboo
f8b3fb3d67 Move parse/write responsibility of copy/paste to 3MFWriter/3MFReader
CURA-7913
2023-08-07 13:41:01 +02:00
j.spijker@ultimaker.com
ca430c80be
Change imported namespace pySavitar to Savitar
Because we had to rename our Python bindings module from Savitar to
pySavitar 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 pySavitar as Savitar.

Contributes to CURA-7924
2022-02-28 10:44:16 +01:00
Remco Burema
7511ac843e Changes needed wrt how we build Savitar with Sip 6.
part of CURA-7924
2022-02-25 14:31:51 +01:00
Ghostkeeper
b815d63096
Add cura: namespace before setting keys, and store the rest in um_node.metadata
This retains per-node metadata entries.

Contributes to issue CURA-7615.
2021-02-08 17:37:38 +01:00
Ghostkeeper
c89a397e59
Merge branch 'master' into CURA-7615_store_metadata 2021-02-08 16:27:38 +01:00
Ghostkeeper
06086dfaaf
Fix reading per-object settings from 3MF object resources
This metadata has been changed to contain other information. Readers of information from 3MF need to adjust their stance too to filter out the information they need from the metadata of the metadata.

Contributes to issue CURA-7615.
2021-02-08 15:07:33 +01:00
Remco Burema
b97b7d6fa9
Set empty project hint back to false before reading.
CURA-7996
2021-02-04 13:04:00 +01:00
Remco Burema
6256bf3a4d
Possible to distinguish between empty and corrupt 3MF.
Otherwise the user could infer valid, but empty workspace is corrupt.

CURA-7996
2021-02-03 09:27:58 +01:00
Jaime van Kessel
f442417ac6
Dont try to set unknown settings as per object settings when loading 3mf
CURA-7615
2020-12-23 16:31:25 +01:00
Jaime van Kessel
f338acd4f3
Read & write all generic metadata items from 3mf
CURA-7615
2020-12-23 13:49:52 +01:00
Kostas Karmas
12aa114483 Surround the addition the convexHull with try-except when loading a 3mf
The buildplate meshes can be in .3mf format. When Cura is loading a printer, it may try to load
its mesh from a 3mf file. At the moment cura is starting up there is no build volume yet, so adding
a convexHull to the printer's 3mf buildplate mesh is not possible. By surrounding the addition of
the convexHull with a try-except, loading of 3mf buildplate meshes on startup doesn't cause issues.

Fixes https://github.com/Ultimaker/Cura/issues/8585
2020-10-21 15:31:34 +02:00
Kostas Karmas
82fc05c915 Always add a ConvexHullDecorator to objects loaded from 3MF
When loading from 3mf, objects outside the buildplate had no ConvexHullDecorator.

CURA-7780
2020-10-16 11:31:32 +02:00
Jaime van Kessel
38256f7a98
Add cast so that mypy doesn't choke 2020-07-08 11:05:46 +02:00
Jaime van Kessel
91690524c0
Ensure that the 3mf reader doesn't make groups of one 2020-07-08 10:39:33 +02:00
Nino van Hooff
89f0970a88 Remove trailing whitespace from Python files 2020-05-29 14:30:33 +02:00
Nino van Hooff
8f3827d5ae Convert doxygen to rst for 3MFReader/Writer and AMFReader 2020-05-08 15:14:39 +02:00
Jaime van Kessel
d49cca3b8b
Add warning for when libsavitar is not up to date 2020-04-15 12:25:00 +02:00
Nino van Hooff
e43768ebde Revert "Revert "Merge pull request #7384 from Ultimaker/CURA-7333_Fix_reloading_3mf_files_with_many_objects""
This reverts commit 4f55c8d8
2020-04-08 11:06:31 +02:00
Nino van Hooff
4f55c8d832 Revert "Merge pull request #7384 from Ultimaker/CURA-7333_Fix_reloading_3mf_files_with_many_objects"
This reverts commit 3e46489b6ba3ae0baab347b26ceb036c1a47007d, reversing
changes made to f5669a5a277042266f9b92314948a5cfb75f58ea.
2020-04-03 15:31:08 +02:00
Kostas Karmas
8eb48672e1 Use the node id as identifier
Now that libSavitar allows us to read the object id from the 3mf file,
this id will be propagated as an id inside CuraSceneNodes and it will
be used as an identifier to find the object that has to be refreshed.

CURA-7333
2020-04-03 11:05:38 +02:00
fieldOfView
469c205384 Fix typo 2020-03-20 07:42:01 +01:00
fieldOfView
65346d9200 Store/retreive SceneNode in/from <object> attribute 2020-03-20 07:28:48 +01:00
fieldOfView
ecfe9c708e Fix watching for changes in 3mf files 2020-03-05 20:13:14 +01:00
Ghostkeeper
f89f47f8d5
Get quality definition from ContainerTree rather than QualityManager
Contributes to issue CURA-6600.
2019-08-28 14:31:07 +02:00
Ghostkeeper
b3b59d5a5c
Add typing 2019-04-26 15:42:22 +02:00
Jaime van Kessel
4f30dffaf9 Ensure that when a corrupt 3mf file is loaded, the "failed to load" message will pop up 2018-09-11 12:58:00 +02:00
Ian Paschal
320d73c6e5 Retain 3MF mesh positions
Contributes to CURA-5465

Fixed bug by preventing read jobs for 3mf files from being auto-arranged.

Boyscout changes:
- Fixed typo in `ThreeMFReader.py` (`splitted` → `split`)
- Fixed code style in `CuraApplication.py` (`filename` → `file_name`)
2018-07-24 12:17:53 +02:00
Lipu Fei
9c40b1de92 Remove code that is likely for debugging
CURA-5545
2018-07-06 15:13:07 +02:00
Jaime van Kessel
b4f59a7822 Removed unneeded application reference in construction of meshreaders 2018-06-29 09:25:38 +02:00
Ghostkeeper
0cb6e506d2
Rewrite code style of _getScaleFromUnit
It should be much more readable now.

Discovered while investigating #3847.
2018-06-28 16:39:53 +02:00
Lipu Fei
7f7a195627 Fix merge conflicts from 3.4 2018-06-05 09:02:52 +02:00
Lipu Fei
39b71add07 Reader classes are responsible for adding their mime types
CURA-5367
2018-06-05 08:35:24 +02:00
Jack Ha
c6ac344ed5 Merge branch '3.4' 2018-06-04 11:40:03 +02:00
Aleksei S
4922988e7d Added .3mf extension to the MimeType
CURA-5367
2018-06-04 11:11:02 +02:00
Diego Prado Gesto
ddd7b056f3 CURA-5164 Make the mesh readers compliant with the new signature of the mesh reader. Also adapt the tests. 2018-05-23 17:17:41 +02:00
Aleksei S
9779c41071 Use MimeTypeDatabase to find loaded file extension and set proper project name
CURA-5323
2018-05-08 10:47:59 +02:00
fieldOfView
d123efd3eb Fix loading parented objects from 3mf files 2018-03-19 18:25:40 +01:00
fieldOfView
fff0a2519a Don't add a SettingOverrideDecorator twice 2018-03-19 17:28:09 +01:00
Lipu Fei
22573a685d Fix quality definition comparison in quality importing
CURA-4946
2018-03-14 14:31:30 +01:00
Lipu Fei
07824c21e1 Move getMachineDefinitionIDForQualitySearch() into QualityManager.py 2018-02-28 11:48:20 +01:00
Lipu Fei
632e0469fb Fix 3MF Reader 2018-02-27 16:01:11 +01:00
Lipu Fei
f304e7f2e7 Revert "Use userChanges instead of getTop()"
PerObjectContainerStacks are not CuraContainerStacks, so we cannot use "userChanges"
with it.
2018-02-27 16:01:11 +01:00
Lipu Fei
ccd4bb285b Use userChanges instead of getTop() 2018-02-26 19:40:31 +01:00
Lipu Fei
3fffc2c621 WIP: Cleanup old QualityManager 2018-02-19 20:50:14 +01:00
Lipu Fei
495fc8bbd7 WIP: Refactor BuildPlateModel and split MultiBuildPlateModel 2018-02-17 22:24:05 +01:00
Ghostkeeper
f54767ae93
Remove unused _namespaces field
The code that used to use this is now in libSavitar.

Discovered while working on issue CURA-4872.
2018-01-31 08:45:52 +01:00
Jack Ha
71e4d42409 CURA-4795 set build plate of newly loaded 3mf files to active build plate 2018-01-16 10:47:30 +01:00
ChrisTerBeke
08322d0a5e Move all decorators in the scene subfolder 2018-01-03 15:09:19 +01:00
Jack Ha
5152b2ae65 Solved merge conflicts. CURA-4525 2017-12-21 10:52:51 +01:00
Ghostkeeper
dad99f5292
Merge branch 'master' into feature_local_container_server
Contributes to issue CURA-4243.
2017-11-29 13:06:08 +01:00