From dadcf45f45b9b777d1d18d2a878be9b66a68a6fa Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 6 Oct 2016 10:44:38 +0200 Subject: [PATCH] Added extra checks & logging to 3mf reader CURA-382 --- plugins/3MFReader/ThreeMFReader.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/plugins/3MFReader/ThreeMFReader.py b/plugins/3MFReader/ThreeMFReader.py index d24845d8a1..52c45652c6 100644 --- a/plugins/3MFReader/ThreeMFReader.py +++ b/plugins/3MFReader/ThreeMFReader.py @@ -77,6 +77,7 @@ class ThreeMFReader(MeshReader): mesh_data = mesh_builder.build().getTransformed(rotation) if not len(mesh_data.getVertices()): + Logger.log("d", "One of the objects does not have vertices. Skipping it.") continue # This object doesn't have data, so skip it. node.setMeshData(mesh_data) @@ -114,6 +115,7 @@ class ThreeMFReader(MeshReader): try: node.getBoundingBox() # Selftest - There might be more functions that should fail except: + Logger.log("w", "Bounding box test for object failed. Skipping this object") continue result.addChild(node) @@ -125,7 +127,10 @@ class ThreeMFReader(MeshReader): group_decorator = GroupDecorator() result.addDecorator(group_decorator) elif len(objects) == 1: - result = result.getChildren()[0] # Only one object found, return that. + if result.getChildren(): + result = result.getChildren()[0] # Only one object found, return that. + else: # we failed to load any data + return None except Exception as e: Logger.log("e", "exception occured in 3mf reader: %s", e) try: # Selftest - There might be more functions that should fail