diff --git a/plugins/3MFReader/ThreeMFReader.py b/plugins/3MFReader/ThreeMFReader.py index e06e9dcf4e..7675a3f040 100755 --- a/plugins/3MFReader/ThreeMFReader.py +++ b/plugins/3MFReader/ThreeMFReader.py @@ -186,6 +186,14 @@ class ThreeMFReader(MeshReader): if len(um_node.getAllChildren()) == 1: # We don't want groups of one, so move the node up one "level" child_node = um_node.getChildren()[0] + # Move all the meshes of children so that toolhandles are shown in the correct place. + if child_node.getMeshData(): + print("child name: ", child_node.getId()) + extents = child_node.getMeshData().getExtents() + m = Matrix() + m.translate(-extents.center) + child_node.setMeshData(child_node.getMeshData().getTransformed(m)) + child_node.translate(extents.center) parent_transformation = um_node.getLocalTransformation() child_transformation = child_node.getLocalTransformation() child_node.setTransformation(parent_transformation.multiply(child_transformation))