diff --git a/PartPreviewWindow/View3D/DifferenceObject3D.cs b/PartPreviewWindow/View3D/DifferenceObject3D.cs index 1a4c57f42..7faf86731 100644 --- a/PartPreviewWindow/View3D/DifferenceObject3D.cs +++ b/PartPreviewWindow/View3D/DifferenceObject3D.cs @@ -122,9 +122,9 @@ namespace MatterHackers.MatterControl.PartPreviewWindow.View3D if (removeObjects.Any() && keepObjects.Any()) { - foreach (var keep in keepObjects) + foreach (var remove in removeObjects) { - foreach (var remove in removeObjects) + foreach (var keep in keepObjects) { var transformedRemove = Mesh.Copy(remove.Mesh, CancellationToken.None); transformedRemove.Transform(remove.WorldMatrix()); @@ -138,6 +138,8 @@ namespace MatterHackers.MatterControl.PartPreviewWindow.View3D transformedKeep.Transform(inverse); keep.Mesh = transformedKeep; } + + remove.Visible = false; } } }); diff --git a/PartPreviewWindow/View3D/MeshViewerWidget.cs b/PartPreviewWindow/View3D/MeshViewerWidget.cs index 4982b2932..f63fd5fd9 100644 --- a/PartPreviewWindow/View3D/MeshViewerWidget.cs +++ b/PartPreviewWindow/View3D/MeshViewerWidget.cs @@ -498,7 +498,10 @@ namespace MatterHackers.MeshVisualizer List transparentMeshes = new List(); foreach (var object3D in scene.Children) { - DrawObject(object3D, transparentMeshes, false, e); + if (object3D.Visible) + { + DrawObject(object3D, transparentMeshes, false, e); + } } transparentMeshes.Sort(BackToFrontXY); diff --git a/Submodules/agg-sharp b/Submodules/agg-sharp index 48c14ef06..0a95f55e7 160000 --- a/Submodules/agg-sharp +++ b/Submodules/agg-sharp @@ -1 +1 @@ -Subproject commit 48c14ef068f4ca06f2c5c60d9c4fd9baf282575a +Subproject commit 0a95f55e75773792ee7d9e5be709d73e6a615b35