private void button2_Click_1(object sender, EventArgs e)
        {
            if (cadStuff != null && cadStuff.cadConnection() == true)
            {
                List <MWCadNameSpace.VTex> vertices = cadStuff.getPlineEnityCoords();

                if (vertices.Count > 0)
                {
                    MWCadNameSpace.SurveyBoundary boundary  = new MWCadNameSpace.SurveyBoundary(vertices);
                    MWCadNameSpace.pnt3d          pickedPnt = cadStuff.getPickPoint(vertices[0].getPnt3d());

                    boundary.translateSegmentList(pickedPnt);


                    //cadStuff.drawPline(boundary.getTranslatedCorrectedSegmentVertices());
                    Autodesk.AutoCAD.Interop.Common.AcadLWPolyline aPline = cadStuff.drawPline(boundary.getTranslatedCorrectedSegmentVertices());
                    cadStuff.setPlineBuldges(aPline, boundary.getTranslatedCorrectedSegmentVertices());

                    Grid1.Rows.Clear();
                    populateGrid1(boundary);

                    Grid2.Rows.Clear();
                    populateGrid2(boundary);

                    Grid3.Rows.Clear();
                    populateGrid3(boundary);
                }
            }
            else
            {
                MessageBox.Show("Connection Error");
            }
        }
        private void populateGrid2(MWCadNameSpace.SurveyBoundary boundary)
        {
            Grid2.ColumnCount     = 2;
            Grid2.Columns[0].Name = "Property";
            Grid2.Columns[1].Name = "Values";

            for (int i = 0; i < boundary.segmentCount(); ++i)
            {
                string[] rowData = new string[] { "SEGMENT DATA  --", Convert.ToString(i) + "--" };
                Grid2.Rows.Add(rowData);

                string[] rowDatax = new string[] { "gStart.x", Convert.ToString(boundary.getCorrectedSegment(i).getGStart().getPnt3d().getX()) };
                Grid2.Rows.Add(rowDatax);
                string[] rowDatay = new string[] { "gStart.y", Convert.ToString(boundary.getCorrectedSegment(i).getGStart().getPnt3d().getY()) };
                Grid2.Rows.Add(rowDatay);
                string[] rowDataz = new string[] { "gStart.bulge", Convert.ToString(boundary.getCorrectedSegment(i).getGStart().getBuldge()) };
                Grid2.Rows.Add(rowDataz);


                string[] rowDataa = new string[] { "gEnd.x", Convert.ToString(boundary.getCorrectedSegment(i).getGEnd().getPnt3d().getX()) };
                Grid2.Rows.Add(rowDataa);
                string[] rowDatab = new string[] { "gEnd.y", Convert.ToString(boundary.getCorrectedSegment(i).getGEnd().getPnt3d().getY()) };
                Grid2.Rows.Add(rowDatab);
                string[] rowDatac = new string[] { "gEnd.bulge", Convert.ToString(boundary.getCorrectedSegment(i).getGEnd().getBuldge()) };
                Grid2.Rows.Add(rowDatac);

                string[] rowData0 = new string[] { "dx", Convert.ToString(boundary.getCorrectedSegment(i).dx()) };
                Grid2.Rows.Add(rowData0);
                string[] rowData1 = new string[] { "dy", Convert.ToString(boundary.getCorrectedSegment(i).dy()) };
                Grid2.Rows.Add(rowData1);
                string[] rowData2 = new string[] { "lEnd.x", Convert.ToString(boundary.getCorrectedSegment(i).lEnd().getPnt3d().getX()) };
                Grid2.Rows.Add(rowData2);
                string[] rowData3 = new string[] { "lEnd.y", Convert.ToString(boundary.getCorrectedSegment(i).lEnd().getPnt3d().getY()) };
                Grid2.Rows.Add(rowData3);

                string[] rowData4 = new string[] { "gCadAngle", Convert.ToString(boundary.getCorrectedSegment(i).gCadAngle()) };
                Grid2.Rows.Add(rowData4);
                string[] rowData5 = new string[] { "length", Convert.ToString(boundary.getCorrectedSegment(i).length()) };
                Grid2.Rows.Add(rowData5);
            }
        }
        private void populateGrid1(MWCadNameSpace.SurveyBoundary boundary)
        {
            Grid1.ColumnCount     = 2;
            Grid1.Columns[0].Name = "Property";
            Grid1.Columns[1].Name = "Values";

            for (int i = 0; i < boundary.segmentCount(); ++i)
            {
                string[] rowData = new string[] { "SEGMENT DATA  --", Convert.ToString(i) + "--" };
                Grid1.Rows.Add(rowData);

                string[] rowData0 = new string[] { "gStart.x", Convert.ToString(boundary.getOriginalSegment(i).getGStart().getPnt3d().getX()) };
                Grid1.Rows.Add(rowData0);
                string[] rowData1 = new string[] { "gStart.y", Convert.ToString(boundary.getOriginalSegment(i).getGStart().getPnt3d().getY()) };
                Grid1.Rows.Add(rowData1);
                string[] rowData2 = new string[] { "gStart.bulge", Convert.ToString(boundary.getOriginalSegment(i).getGStart().getBuldge()) };
                Grid1.Rows.Add(rowData2);


                string[] rowData3 = new string[] { "gEnd.x", Convert.ToString(boundary.getOriginalSegment(i).getGEnd().getPnt3d().getX()) };
                Grid1.Rows.Add(rowData3);
                string[] rowData4 = new string[] { "gEnd.y", Convert.ToString(boundary.getOriginalSegment(i).getGEnd().getPnt3d().getY()) };
                Grid1.Rows.Add(rowData4);
                string[] rowData5 = new string[] { "gEnd.bulge", Convert.ToString(boundary.getOriginalSegment(i).getGEnd().getBuldge()) };
                Grid1.Rows.Add(rowData5);

                string[] rowData6 = new string[] { "dx", Convert.ToString(boundary.getOriginalSegment(i).dx()) };
                Grid1.Rows.Add(rowData6);
                string[] rowData7 = new string[] { "dy", Convert.ToString(boundary.getOriginalSegment(i).dy()) };
                Grid1.Rows.Add(rowData7);

                string[] rowData8 = new string[] { "lStart.x", Convert.ToString(boundary.getOriginalSegment(i).lStart().getPnt3d().getX()) };
                Grid1.Rows.Add(rowData8);
                string[] rowData9 = new string[] { "lStart.y", Convert.ToString(boundary.getOriginalSegment(i).lStart().getPnt3d().getY()) };
                Grid1.Rows.Add(rowData9);

                string[] rowData10 = new string[] { "lEnd.x", Convert.ToString(boundary.getOriginalSegment(i).lEnd().getPnt3d().getX()) };
                Grid1.Rows.Add(rowData10);
                string[] rowData11 = new string[] { "lEnd.y", Convert.ToString(boundary.getOriginalSegment(i).lEnd().getPnt3d().getY()) };
                Grid1.Rows.Add(rowData11);

                string[] rowData12 = new string[] { "gCadAngle", Convert.ToString(boundary.getOriginalSegment(i).gCadAngle()) };
                Grid1.Rows.Add(rowData12);
                string[] rowData13 = new string[] { "length", Convert.ToString(boundary.getOriginalSegment(i).length()) };
                Grid1.Rows.Add(rowData13);

                string[] rowData14 = new string[] { "cCadAngle", Convert.ToString(boundary.getOriginalSegment(i).cCadAngle()) };
                Grid1.Rows.Add(rowData14);
                string[] rowData15 = new string[] { "length", Convert.ToString(boundary.getOriginalSegment(i).cLength()) };
                Grid1.Rows.Add(rowData15);

                string[] rowData16 = new string[] { "cdx", Convert.ToString(boundary.getOriginalSegment(i).cdx()) };
                Grid1.Rows.Add(rowData16);
                string[] rowData17 = new string[] { "cdy", Convert.ToString(boundary.getOriginalSegment(i).cdy()) };
                Grid1.Rows.Add(rowData17);

                string[] rowData18 = new string[] { "cLEnd.x", Convert.ToString(boundary.getOriginalSegment(i).cLEnd().getPnt3d().getX()) };
                Grid1.Rows.Add(rowData18);
                string[] rowData19 = new string[] { "cLEnd.y", Convert.ToString(boundary.getOriginalSegment(i).cLEnd().getPnt3d().getY()) };
                Grid1.Rows.Add(rowData19);
                string[] rowData20 = new string[] { "cLEnd.bulge", Convert.ToString(boundary.getOriginalSegment(i).cLEnd().getBuldge()) };
                Grid1.Rows.Add(rowData20);

                string[] rowData21 = new string[] { "-----------", "------------" };
                Grid1.Rows.Add(rowData21);
                string[] rowData22 = new string[] { "-----------", "------------" };
                Grid1.Rows.Add(rowData22);
            }
        }