Beispiel #1
0
        public static PrintTestRunner CreateTestRunner(string caseName, PrintProfileFFF settings)
        {
            var resultGenerator = CreateResultGenerator(settings);
            var resultAnalyzer  = new ResultAnalyzer <FeatureInfo>(new FeatureInfoFactoryFFF(), new ConsoleLogger());

            return(new PrintTestRunner(caseName, resultGenerator, resultAnalyzer));
        }
 public SLSPrintGenerator(PrintMeshAssembly meshes,
                          PlanarSliceStack slices,
                          PrintProfileFFF settings,
                          IThreeAxisLaserCompiler compiler)
 {
     Initialize(meshes, slices, settings, compiler);
 }
        public void WrongLocation()
        {
            var settings = new PrintProfileFFF();

            settings.Machine.OriginX = Sutro.Core.Models.Profiles.MachineBedOriginLocationX.Center;
            settings.Machine.OriginY = Sutro.Core.Models.Profiles.MachineBedOriginLocationY.Center;
            ExpectFailure <BoundingBoxException>(settings);
        }
 public void Initialize(PrintMeshAssembly meshes,
                        PlanarSliceStack slices,
                        PrintProfileFFF settings,
                        IThreeAxisLaserCompiler compiler)
 {
     PrintMeshes = meshes;
     Slices      = slices;
     Settings    = settings;
     Compiler    = compiler;
 }
Beispiel #5
0
        public GenericSLSPrintGenerator(PrintMeshAssembly meshes,
                                        PlanarSliceStack slices,
                                        PrintProfileFFF settings)
        {
            file_accumulator = new GCodeFileAccumulator();
            //builder = new GCodeBuilder(file_accumulator);
            //compiler = new SLSCompiler(builder, settings);
            compiler = new SLSCompiler(settings);

            base.Initialize(meshes, slices, settings, compiler);
        }
        public void ExpectFailure <ExceptionType>(PrintProfileFFF settings) where ExceptionType : Exception
        {
            // Arrange
            var resultGenerator = TestRunnerFactoryFFF.CreateResultGenerator(settings);
            var resultAnalyzer  = new ResultAnalyzer <FeatureInfo>(new FeatureInfoFactoryFFF(), new ConsoleLogger());
            var print           = new PrintTestRunner(CaseName, resultGenerator, resultAnalyzer);

            // Act
            print.GenerateFile();

            // Assert
            Assert.ThrowsException <ExceptionType>(() =>
            {
                print.CompareResults();
            });
        }
        public void CloneAs_ValuesCloneCorrectly()
        {
            // arrange
            var orig = new PrintProfileFFF();

            orig.Part.Shells              = 10;
            orig.Machine.NozzleDiamMM     = 20;
            orig.Machine.ManufacturerName = "A";

            // act
            var copy = SettingsPrototype.CloneAs <PrintProfileFFF, PrintProfileFFF>(orig);

            // assert
            Assert.AreEqual(10, copy.Part.Shells);
            Assert.AreEqual(20, copy.Machine.NozzleDiamMM);
            Assert.AreEqual("A", orig.Machine.ManufacturerName);
            Assert.AreNotSame(copy.Machine, orig.Machine);
        }
        public void CloneBareAsCurve()
        {
            // Arrange
            var settings = new PrintProfileFFF();
            var loop     = FillFactory.CreateTriangleCCW();

            loop.FillType       = settings.FillTypeFactory.OuterPerimeter();
            loop.PerimeterOrder = 100;
            loop.IsHoleShell    = true;
            loop.FillThickness  = 3;

            // Act
            var clone = loop.CloneBareAsCurve();

            // Assert
            Assert.AreEqual(100, clone.PerimeterOrder);
            Assert.AreEqual(3, clone.FillThickness);
            Assert.IsTrue(clone.IsHoleShell);
            Assert.IsInstanceOfType(clone.FillType, typeof(OuterPerimeterFillType));
        }
Beispiel #9
0
        public void CloneBare()
        {
            // Arrange
            var settings = new PrintProfileFFF();
            var curve    = new FillCurve <FillSegment>()
            {
                FillType       = settings.FillTypeFactory.OuterPerimeter(),
                PerimeterOrder = 100,
                IsHoleShell    = true,
                FillThickness  = 3
            };

            // Act
            var clone = curve.CloneBare();

            // Assert
            Assert.AreEqual(100, clone.PerimeterOrder);
            Assert.AreEqual(3, clone.FillThickness);
            Assert.IsTrue(clone.IsHoleShell);
            Assert.IsInstanceOfType(clone.FillType, typeof(OuterPerimeterFillType));
        }
        public void CloneAs_CloneValuesDoNotAffectOriginal()
        {
            // arrange
            var orig = new PrintProfileFFF();

            orig.Part.Shells              = 10;
            orig.Machine.NozzleDiamMM     = 20;
            orig.Machine.ManufacturerName = "A";

            // act
            PrintProfileFFF copy = SettingsPrototype.CloneAs <PrintProfileFFF, PrintProfileFFF>(orig);

            copy.Part.Shells             *= 2;
            copy.Machine.NozzleDiamMM    *= 20;
            copy.Machine.ManufacturerName = "B";

            // assert
            Assert.AreEqual(10, orig.Part.Shells);
            Assert.AreEqual(20, orig.Machine.NozzleDiamMM);
            Assert.AreEqual("A", orig.Machine.ManufacturerName);
            Assert.AreNotSame(copy.Machine, orig.Machine);
        }
Beispiel #11
0
 public SLSCompiler(PrintProfileFFF settings)
 {
     Settings = settings;
 }
Beispiel #12
0
        public static ResultGenerator <SingleMaterialFFFPrintGenerator, PrintProfileFFF> CreateResultGenerator(PrintProfileFFF settings)
        {
            var logger = new ConsoleLogger();

            return(new ResultGenerator <SingleMaterialFFFPrintGenerator, PrintProfileFFF>(
                       new PrintGeneratorManager <SingleMaterialFFFPrintGenerator, PrintProfileFFF>(settings, "", "", logger), logger));
        }
Beispiel #13
0
 public IFillType SkirtBrim(PrintProfileFFF settings)
 {
     return(new SkirtBrimFillType());
 }