diff --git a/MatterControlLib/ApplicationView/NonPrintableAttribute.cs b/MatterControlLib/ApplicationView/NonPrintableAttribute.cs
new file mode 100644
index 000000000..b7b2afe6d
--- /dev/null
+++ b/MatterControlLib/ApplicationView/NonPrintableAttribute.cs
@@ -0,0 +1,38 @@
+/*
+Copyright (c) 2018, Lars Brubaker, John Lewin
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+The views and conclusions contained in the software and documentation are those
+of the authors and should not be interpreted as representing official policies,
+either expressed or implied, of the FreeBSD Project.
+*/
+
+using System;
+
+namespace MatterHackers.MatterControl
+{
+ [AttributeUsage(AttributeTargets.Class)]
+ public class NonPrintableAttribute : Attribute
+ {
+ }
+}
\ No newline at end of file
diff --git a/MatterControlLib/ApplicationView/PrinterExtensionMethods.cs b/MatterControlLib/ApplicationView/PrinterExtensionMethods.cs
index 443a94830..88f348931 100644
--- a/MatterControlLib/ApplicationView/PrinterExtensionMethods.cs
+++ b/MatterControlLib/ApplicationView/PrinterExtensionMethods.cs
@@ -36,7 +36,6 @@ namespace MatterHackers.MatterControl
using MatterHackers.DataConverters3D;
using MatterHackers.Localizations;
using MatterHackers.MatterControl.SlicerConfiguration;
- using MatterHackers.MeshVisualizer;
public static class PrinterExtensionMethods
{
@@ -98,7 +97,9 @@ namespace MatterHackers.MatterControl
///
public static IEnumerable PrintableItems(this PrinterConfig printer, IObject3D source)
{
- return source.VisibleMeshes().Where(item => printer.InsideBuildVolume(item) && item.WorldPersistable());
+ return source.VisibleMeshes().Where(item => printer.InsideBuildVolume(item)
+ && item.WorldPersistable()
+ && !item.GetType().GetCustomAttributes(typeof(NonPrintableAttribute), true).Any());
}
///