Ejemplo n.º 1
0
        public void FrameSetIsCommentTest4()
        {
            var s   = "; 'Destring/Wipe/Jump Path', 0.0 [feed mm/s], 63.8 [head mm/s]";
            var res = new GcodeParser(s).IsComment;

            Assert.IsTrue(res);
        }
Ejemplo n.º 2
0
        public void FrameSetIsCommentTest7()
        {
            var s   = string.Empty;
            var res = new GcodeParser(s).IsComment;

            Assert.IsFalse(res);
        }
Ejemplo n.º 3
0
        public void FrameSetIsCommentTest6()
        {
            var s   = "     ;     ";
            var res = new GcodeParser(s).IsComment;

            Assert.IsTrue(res);
        }
Ejemplo n.º 4
0
    public GameObject RenderGcode()
    {
        Destroy();

        float lineWidth = GcodeParser.GetInstance().GetLayerHeight() * 5;

        GcodeDrawLineManager.GetInstance().SetGcodeRenderBeans(GcodeParser.GetInstance().GetGcodeRenderPointList());
        GcodeDrawLineManager.GetInstance().SetLineWidth(lineWidth);

        gcodeRenderGameObject      = GameObject.CreatePrimitive(PrimitiveType.Cube);
        gcodeRenderGameObject.name = "gcodeRenderGameObject";
        gcodeRenderGameObject.GetComponent <Renderer>().enabled = false;

        foreach (VectorLine vectorLine in GcodeDrawLineManager.GetInstance().GetVectorLineList_types())
        {
            vectorLine.drawTransform = gcodeRenderGameObject.transform;
            vectorLine.active        = true;
        }

        foreach (VectorLine vectorLine in GcodeDrawLineManager.GetInstance().GetVectorLine_topLayer())
        {
            vectorLine.drawTransform = gcodeRenderGameObject.transform;
            vectorLine.active        = true;
        }

        _struct.isRendered = true;

        initColorScheme();
        UpdatGcodePreviewColors();

        SetActive_Top_Layer(true);
        GcodeDrawLineManager.GetInstance().SetColor_topLayer(GcodeTypeColor.Top_Layer);

        return(gcodeRenderGameObject);
    }
Ejemplo n.º 5
0
        public void FrameSetIsCommentTest3()
        {
            var s   = " head speed 63.800003, filament speed 0.000000, preload 0.000000";
            var res = new GcodeParser(s).IsComment;

            Assert.IsFalse(res);
        }
Ejemplo n.º 6
0
 public void GcodeParserSyntheticTests1()
 {
     foreach (var r in TestSuiteDataSource.TestSyntheticCodes)
     {
         var gcode = GcodeParser.ToGCode(r);
         Assert.IsInstanceOfType(gcode, typeof(GcodeCommandFrame));
     }
 }
Ejemplo n.º 7
0
 public static GcodeParser GetInstance()
 {
     if (_INSTANCE == null)
     {
         _INSTANCE = new GcodeParser();
     }
     return(_INSTANCE);
 }
Ejemplo n.º 8
0
        public void NormalizeRawFrameTestSynthetic1()
        {
            const string def      = "A1 B2 C3 D4 E5 F6 G7";
            var          comparer = def.Replace(" ", string.Empty);
            var          parser   = new GcodeParser(comparer);
            var          res      = parser.NormalizeRawFrame();

            Assert.AreEqual(def, res);
        }
Ejemplo n.º 9
0
        public void GcodeComment()
        {
            const string cmd   = ";> ololo G1 X1 Y1 XZ0 ; this frame comment";
            var          gcode = GcodeParser.ToGCode(cmd);

            var gcodeRes = GcodeParser.ToStringCommand(gcode);

            Assert.AreEqual(cmd, gcodeRes);
        }
Ejemplo n.º 10
0
        public void ToJsonTest4()
        {
            var ds = TestSuiteDataSource.Ds100Gcode.Split("\n");

            foreach (var r in ds)
            {
                var res = GcodeParser.ToJson(r);
                Assert.IsTrue(res.StartsWith("{") && res.EndsWith("}"));
            }
        }
Ejemplo n.º 11
0
        public void CheckSumTest4M115()
        {
            var cmd = TestSuiteDataSource.TestSyntheticCodes[6];
            var g   = GcodeParser.ToGCode(cmd);

            g.N = 6;
            var crc = GcodeCrc.FrameCrc(g);

            Assert.IsTrue(crc >= 0, $"{cmd}");
        }
Ejemplo n.º 12
0
        public void CheckSumTest1()
        {
            var cmd = TestSuiteDataSource.TestSyntheticCodes[0];
            var g   = GcodeParser.ToGCode(cmd);

            g.N = 1;
            var crc = GcodeCrc.FrameCrc(g);

            Assert.IsInstanceOfType(crc, typeof(int));
        }
Ejemplo n.º 13
0
        public void GcodeParserTests1()
        {
            var ds = TestSuiteDataSource.Ds100Gcode.Split("\n");

            foreach (var r in ds)
            {
                var gcode = GcodeParser.ToGCode(r);
                Assert.IsInstanceOfType(gcode, typeof(GcodeCommandFrame), $"{r}");
            }
        }
Ejemplo n.º 14
0
 public void CheckSumTest2()
 {
     for (var i = 1; i < TestSuiteDataSource.TestSyntheticCodes.Length; i++)
     {
         var cmd = TestSuiteDataSource.TestSyntheticCodes[i];
         var g   = GcodeParser.ToGCode(cmd);
         g.N = i;
         var crc = GcodeCrc.FrameCrc(g);
         Assert.IsInstanceOfType(crc, typeof(int));
     }
 }
Ejemplo n.º 15
0
 public void CheckSumTest3()
 {
     for (var i = 1; i < TestSuiteDataSource.TestSyntheticCodes.Length; i++)
     {
         var cmd = TestSuiteDataSource.TestSyntheticCodes[i];
         var g   = GcodeParser.ToGCode(cmd);
         g.N = i;
         var crc = GcodeCrc.FrameCrc(g);
         Assert.IsTrue(crc >= 0, $"{i} {cmd}");
     }
 }
Ejemplo n.º 16
0
        public void GcodeOrderSegmentTest1()
        {
            //M206 T3 P200 X89 ;extruder normal steps per mm
            var ds    = TestSuiteDataSource.TestSyntheticCodes[0];
            var gcode = GcodeParser.ToGCode(ds);

            gcode.N = 1;
            var dsExpected = $"N{gcode.N} {ds}";
            var res        = GcodeParser.ToStringCommand(gcode);

            Assert.AreEqual(dsExpected, res);
        }
Ejemplo n.º 17
0
        public void GcodeParserTestsCheckSumIcTest1()
        {
            var ds    = TestSuiteDataSource.TestSyntheticCodes[0];
            var gcode = GcodeParser.ToGCode(ds);

            gcode.N        = 1;
            gcode.CheckSum = GcodeCrc.FrameCrc(gcode);
            var resStr = GcodeParser.ToStringCommand(gcode);

            Assert.IsNotNull(resStr);
            Assert.IsTrue(resStr.Contains($"*{gcode.CheckSum}"));
        }
Ejemplo n.º 18
0
        public void ToJsonTest1()
        {
            const string raw      = "G1 X626.713 Y251.523 E12.01248; Haha";
            var          expected = "{\"G\":\"1\",\"X\":\"626.713\",\"Y\":\"251.523\",\"E\":\"12.01248\",\"Comment\":\"Haha\"}";

            //\r\n\t
            expected = expected.Replace("\r", null);
            expected = expected.Replace("\n", null);
            expected = expected.Replace("\t", null);
            var res = GcodeParser.ToJson(raw);

            Assert.AreEqual(expected, res);
        }
Ejemplo n.º 19
0
        public void CheckSumTest4()
        {
            var ds = TestSuiteDataSource.Ds100Gcode.Split("\n");

            for (var i = 1; i < ds.Length; i++)
            {
                var cmd = ds[i];
                var g   = GcodeParser.ToGCode(cmd);
                g.N = i;
                var crc = GcodeCrc.FrameCrc(g);
                Assert.IsTrue(crc >= 0, $"{i} {cmd}");
            }
        }
Ejemplo n.º 20
0
        public void NormalizeRawFrameTestReal1()
        {
            var data = TestSuiteDataSource.ReadTextFromFile("pattern_blade_fp_piece2_v1.gcode").Split("\r\n");

            foreach (var d in data)
            {
                var parser = new GcodeParser(d);
                if (!parser.IsComment)
                {
                    var res = parser.NormalizeRawFrame();
                    Assert.AreEqual(d, res);
                }
            }
        }
Ejemplo n.º 21
0
        public void NormalizeRawFrameTestReal_Cube()
        {
            var data = TestSuiteDataSource.ReadTextFromFile("100.gcode").Split("\r\n");

            foreach (var d in data)
            {
                if (!d.Contains(";"))
                {
                    var parser = new GcodeParser(d);
                    var res    = parser.NormalizeRawFrame();
                    Assert.AreEqual(d, res);
                }
            }
        }
Ejemplo n.º 22
0
        public void NormalizeRawFrameTestReal2()
        {
            var data = TestSuiteDataSource.ReadTextFromFile("28.gcode.modified.gcode").Split("\r\n");

            foreach (var d in data)
            {
                var parser = new GcodeParser(d);
                if (!parser.IsComment)
                {
                    var res = parser.NormalizeRawFrame();
                    Assert.AreEqual(d, res);
                }
            }
        }
Ejemplo n.º 23
0
        public void GcodeParserTests2()
        {
            //M206 T3 P200 X89 ; extruder normal steps per mm
            var ds    = TestSuiteDataSource.TestSyntheticCodes[0];
            var gcode = GcodeParser.ToGCode(ds);

            Assert.IsNotNull(gcode.M);
            Assert.AreEqual(206, gcode.M.Value);
            Assert.IsNotNull(gcode.T);
            Assert.AreEqual(3, gcode.T.Value);
            Assert.IsNotNull(gcode.P);
            Assert.AreEqual(200, gcode.P.Value);
            Assert.IsNotNull(gcode.X);
            Assert.AreEqual(89, gcode.X.Value);
            Assert.AreEqual("extruder normal steps per mm", gcode.Comment);
        }
Ejemplo n.º 24
0
    public bool IsInBounds()
    {
        List <Vector2> list = GcodeParser.GetInstance().GetBounds();

        if (list == null)
        {
            return(false);
        }
        Vector3 deviceSize = Global.GetInstance().GetPrinterParamsStruct().size;

        return
            ((list[0].x >= 0 && list[0].y <= deviceSize.x)
             &&
             (list[1].x >= 0 && list[1].y <= deviceSize.y)
             &&
             (list[2].y <= deviceSize.z));
    }
Ejemplo n.º 25
0
    /*************** public ***************/
    public bool StartParseGcodeFile(string path)
    {
        if (string.IsNullOrEmpty(path) || path.Trim().Length == 0)
        {
            Debug.LogError("Error occur: StartParseGcodeFile [path is null]" + "\n");
            return(false);
        }

        if (!File.Exists(path))
        {
            Debug.LogError("Error occur: StartParseGcodeFile [file not exists:" + path + "]" + "\n");
            return(false);
        }

        UnityEngine.Debug.Log("Start parse gcode file..." + "\n");

        _struct.isParsing     = true;
        _struct.isRendered    = false;
        _struct.parseProgress = 0;

        StageManager.SetStage_Gcode_Render();

        //cost long time if file is big
        GcodeParser.GetInstance().StartParseGcodeFile(path);

        if (GcodeParser.GetInstance().GetLayerCount() > 0)
        {
            foreach (Listener listener in _listenerList)
            {
                listener.OnGcodeParseSucceed();
            }
        }
        else
        {
            foreach (Listener listener in _listenerList)
            {
                listener.OnGcodeParseFailed();
            }
        }

        _struct.isParsing     = false;
        _struct.parseProgress = 1;

        return(true);
    }
Ejemplo n.º 26
0
        public void GcodeOrderSegmentTest2()
        {
            var ds = TestSuiteDataSource.Ds100Gcode.Split("\n");

            foreach (var d in ds)
            {
                var s = d.Replace("\r", null);
                if (s == ";")
                {
                    continue;
                }
                var gcode          = GcodeParser.ToGCode(s);
                var gcodeStr       = GcodeParser.ToStringCommand(gcode);
                var expectedResult = $"{s}";
                if (string.IsNullOrWhiteSpace(gcode.Comment))
                {
                    Assert.AreEqual(expectedResult.Trim(), gcodeStr.Trim(), gcodeStr.Trim());
                }
            }
        }
Ejemplo n.º 27
0
        public void GcodeCheckSumTest1()
        {
            var gcodeCommands = TestSuiteDataSource.ReadTextFromFile("pattern_blade_fp_piece2_v1.gcode").Split("\r\n");

            if (gcodeCommands == null || gcodeCommands.Length == 0)
            {
                return;
            }

            for (var i = 1; i < gcodeCommands.Length; i++)
            {
                var frame  = gcodeCommands[i];
                var parser = new GcodeParser(frame);

                if (!parser.IsComment)
                {
                    var frameCrc = GcodeCrc.FrameCrc(i, frame);
                    Assert.IsInstanceOfType(frameCrc, typeof(int));
                }
            }
        }
Ejemplo n.º 28
0
        public void GcodeCheckSumTest3()
        {
            var gcodeCommands = TestSuiteDataSource.ReadTextFromFile("100.gcode").Split("\r\n");

            if (gcodeCommands == null || gcodeCommands.Length == 0)
            {
                return;
            }

            for (var i = 1; i < gcodeCommands.Length; i++)
            {
                var frame  = gcodeCommands[i];
                var parser = new GcodeParser(frame);

                if (!parser.IsComment)
                {
                    var frameCrc = GcodeCrc.FrameCrc(i, frame);
                    Assert.IsTrue(frameCrc > 0, $"CRC: {frameCrc} Failed at {i},frame: {frame} ");
                }
            }
        }
Ejemplo n.º 29
0
        public void FrameSetContainsCommentTest2()
        {
            var res = new GcodeParser("").ContainsComment;

            Assert.IsFalse(res);
        }
Ejemplo n.º 30
0
        public void FrameSetContainsCommentTest3()
        {
            var res = new GcodeParser("; >   M206 T3 P149 X700.0 ; Y max len = 600.0").ContainsComment;

            Assert.IsFalse(res);
        }