Ejemplo n.º 1
0
        public void ExtrusionRateStreamTracksSettings()
        {
            StaticData.Instance = new FileSystemStaticData(TestContext.CurrentContext.ResolveProjectPath(4, "StaticData"));
            MatterControlUtilities.OverrideAppDataLocation(TestContext.CurrentContext.ResolveProjectPath(4));

            var gcodeStream = new ExtrusionMultiplyerStream(new TestGCodeStream(new string[0]));

            Assert.AreEqual(1, gcodeStream.ExtrusionRatio, "ExtrusionRatio should default to 1");

            ActiveSliceSettings.Instance.SetValue(SettingsKey.extrusion_ratio, "0.3");

            Assert.AreEqual(0.3, gcodeStream.ExtrusionRatio, "ExtrusionRatio should remain synced with PrinterSettings");
        }
Ejemplo n.º 2
0
        public static GCodeStream CreateTestGCodeStream(string[] inputLines)
        {
            GCodeStream gCodeFileStream0          = new TestGCodeStream(inputLines);
            GCodeStream pauseHandlingStream1      = new PauseHandlingStream(gCodeFileStream0);
            GCodeStream queuedCommandStream2      = new QueuedCommandsStream(pauseHandlingStream1);
            GCodeStream relativeToAbsoluteStream3 = new RelativeToAbsoluteStream(queuedCommandStream2);
            //GCodeStream printLevelingStream4 = new PrintLevelingStream(relativeToAbsoluteStream3);
            GCodeStream printLevelingStream4       = relativeToAbsoluteStream3;
            GCodeStream waitForTempStream5         = new WaitForTempStream(printLevelingStream4);
            GCodeStream babyStepsStream6           = new BabyStepsStream(waitForTempStream5);
            GCodeStream extrusionMultiplyerStream7 = new ExtrusionMultiplyerStream(babyStepsStream6);
            GCodeStream feedrateMultiplyerStream8  = new FeedRateMultiplyerStream(extrusionMultiplyerStream7);
            GCodeStream totalGCodeStream           = feedrateMultiplyerStream8;

            return(totalGCodeStream);
        }
Ejemplo n.º 3
0
        public void ExtrusionRatioChangesExtrusionAmount()
        {
            string line;

            Assert.AreEqual(1, (int)ExtrusionMultiplyerStream.ExtrusionRatio, "ExtrusionRatio should default to 1");

            PrinterConfig printer     = null;
            var           gcodeStream = new ExtrusionMultiplyerStream(printer, new TestGCodeStream(printer, new string[] { "G1 E10", "G1 E0 ; Move back to 0", "G1 E12" }));

            line = gcodeStream.ReadLine();
            // Move back to E0
            gcodeStream.ReadLine();

            Assert.AreEqual("G1 E10", line, "ExtrusionMultiplyer should remain unchanged when FeedRateRatio is 1.0");

            ExtrusionMultiplyerStream.ExtrusionRatio = 2;

            line = gcodeStream.ReadLine();

            Assert.AreEqual("G1 E24", line, "ExtrusionMultiplyer should scale from E12 to E24 when ExtrusionRatio is 2x");
        }
Ejemplo n.º 4
0
		public void ExtrusionRatioChangesExtrusionAmount()
		{
			string line;
			StaticData.Instance = new FileSystemStaticData(TestContext.CurrentContext.ResolveProjectPath(4, "StaticData"));
			MatterControlUtilities.OverrideAppDataLocation(TestContext.CurrentContext.ResolveProjectPath(4));

			Assert.AreEqual(1, ExtrusionMultiplyerStream.ExtrusionRatio, "ExtrusionRatio should default to 1");

			var gcodeStream = new ExtrusionMultiplyerStream(new TestGCodeStream(new string[] { "G1 E10", "G1 E0 ; Move back to 0", "G1 E12" }));

			line = gcodeStream.ReadLine();
			// Move back to E0
			gcodeStream.ReadLine();

			Assert.AreEqual("G1 E10", line, "ExtrusionMultiplyer should remain unchanged when FeedRateRatio is 1.0");

			ExtrusionMultiplyerStream.ExtrusionRatio = 2;

			line = gcodeStream.ReadLine();

			Assert.AreEqual("G1 E24", line, "ExtrusionMultiplyer should scale from E12 to E24 when ExtrusionRatio is 2x");
		}