Esempio n. 1
0
        private void bwWorker_Completed(object sender, RunWorkerCompletedEventArgs e)
        {
            if (_frmProgress != null)
            {
                _frmProgress.Hide();
                _frmProgress = null;
            }

            if (e.Error != null)
            {
                new Taxi.MessageBox.MessageBoxBA().Show(this, "Có lỗi trong quá trình xử lý dữ liệu. [" + e.Error.Message + "]");
            }
        }
Esempio n. 2
0
        private EW_Forms()
        {
            fBalanceSite = new frmBalanceSite();
            fBuildAreas  = new frmBuildAreas();
            fEarthwork   = new frmEarthwork();
            fGridSpacing = new frmGridSpacing();
            fProgressBar = new frmProgressBar();
            fSurfaces    = new frmSurfaces();

            wBalanceSite = new winBalanceSite();
            wBuildAreas  = new winBuildAreas();
            wEW          = new winEW();
            wGridSpacing = new winGridSpacing();
            wInputs      = new winInputs();
            wProgressBar = new winProgressBar();
            wSurfaces    = new winSurfaces();
        }
Esempio n. 3
0
        /// <summary>
        /// Hàm thực hiện hiển thị dữ liệu báo cáo trong hệ thống!
        /// </summary>
        protected override object GetData()
        {
            //Dùng backgroundworker để chia nhỏ dữ liệu lấy lên!
            BackgroundWorker bwWorker = new BackgroundWorker();

            bwWorker.DoWork             += bwWorker_DoWork;
            bwWorker.RunWorkerCompleted += bwWorker_Completed;
            _frmProgress = new frmProgressBar();
            bwWorker.RunWorkerAsync();
            try
            {
                _frmProgress.ShowDialog(this);
                _frmProgress = null;
                this.Activate();
                this.MinimizeBox = false;
            }
            catch (Exception ex)
            {
                new Taxi.MessageBox.MessageBoxBA().Show(ex.ToString(), "Thông báo", Taxi.MessageBox.MessageBoxButtonsBA.OK, Taxi.MessageBox.MessageBoxIconBA.Error);
            }

            return(_dataTable);
        }
Esempio n. 4
0
        public static void getTriangleSegs(string strSurfaceName)
        {
            DateTime timeStart = DateTime.Now;
            string   nameLayer = "";

            if (strSurfaceName == "CPNT-ON")
            {
                nameLayer = "CPNT";
            }

            nameLayer = string.Format("{0}-BRKLINE", nameLayer);
            Layer.manageLayers(nameLayer);

            TinSurface objSurface = Surf.getTinSurface(strSurfaceName);

            if (objSurface == null)
            {
                Autodesk.AutoCAD.ApplicationServices.Application.ShowAlertDialog("CPNT-ON surface is not present - Needs data shortcut. Exiting......");
                return;
            }

            List <EdgePnt> ePnts = new List <EdgePnt>();

            TinSurfaceVertexCollection vertices = objSurface.Vertices;

            foreach (TinSurfaceVertex v in vertices)
            {
                TinSurfaceEdgeCollection edges = v.Edges;
                foreach (TinSurfaceEdge e in edges)
                {
                    EdgePnt ePnt = new EdgePnt {
                        p1 = e.Vertex1.Location, p2 = e.Vertex2.Location
                    };
                    ePnts.Add(ePnt);
                }
            }

            fProgressBar = new frmProgressBar();
            fProgressBar.Show();

            int        k             = ePnts.Count;
            long       lngOnePercent = (int)System.Math.Truncate(k / 100.0);
            string     strStatus     = null;
            List <int> lngMark       = new List <int>();

            for (int i = 0; i < k - 1; i++)
            {
                EdgePnt ePnt1 = ePnts[i];

                for (int j = i + 1; j < k; j++)
                {
                    EdgePnt ePnt2 = ePnts[j];

                    if (ePnt1.p1.isEqual(ePnt2.p2, 0.1))
                    {
                        if (ePnt1.p2.isEqual(ePnt2.p1, 0.1))
                        {
                            lngMark.Add(j);
                            break;
                        }
                    }
                }

                if (i % lngOnePercent == 0)
                {
                    strStatus = "Comparing " + i + " of " + k / 2 + " Objects";
                    fProgressBar.ProgressBar1.Increment(1);
                    fProgressBar.Text = strStatus;
                }
            }

            fProgressBar.ProgressBar1.Value = 0;

            k             = lngMark.Count;
            lngOnePercent = (int)System.Math.Truncate(k / 100.0);

            List <Point3d> pnts3dList = new List <Point3d>();

            using (BaseObjs._acadDoc.LockDocument())
            {
                for (int i = 0; i < k; i++)
                {
                    pnts3dList = new List <Point3d>()
                    {
                        ePnts[lngMark[i]].p1, ePnts[lngMark[i]].p2
                    };

                    ObjectId id3dPoly = Draw.addPoly3d(pnts3dList);
                    id3dPoly.changeProp(nameLayer: nameLayer);

                    if (i % lngOnePercent == 0)
                    {
                        strStatus = "Importing " + i + " of " + k + " Breaklines";
                        fProgressBar.ProgressBar1.Increment(1);
                        fProgressBar.Text = strStatus;
                    }
                }
            }

            fProgressBar.Dispose();
            fProgressBar = null;

            DateTime timeEnd = DateTime.Now;

            string mess = string.Format("Elapsed Time: {0}", (timeEnd - timeStart).ToString());

            MessageBox.Show(mess);
        }