Example #1
0
        //...
        private void loadFile_FormXayDungLoKhoan(int _soHang, int _soCot, int _khoangCachHang, int _khoangCachCot, double _banKinh, bool _hienThiKichThuoc)
        {
            this.soHang                    = _soHang;
            this.soCot                     = _soCot;
            this.khoangCachHang            = _khoangCachHang;
            this.khoangCachCot             = _khoangCachCot;
            this.banKinh                   = _banKinh;
            this.banVeChinh.HienKhoangCach = _hienThiKichThuoc;
            this.banVeChinh.DeltaX         = Math.Abs(_khoangCachCot);
            this.banVeChinh.DeltaY         = Math.Abs(_khoangCachHang);
            Lcad.OnEventMouseDblClk(_EventMouseDbclick_XayDungLuoiLoMin);
            UserControl_Notify note = new UserControl_Notify("Chọn tọa độ");

            elementHost1.Child = note;
            note.ShowNotify();
        }
Example #2
0
 public FormMain()
 {
     InitializeComponent();
     Lcad.PropPutStr(0, Lcad.LC_PROP_G_REGCODE, "1234"); // 1234 là mã số khi mua LiteCad đã đăng ký
     //Lcad.PropPutStr(0, Lcad.LC_PROP_G_DIRDATA, @"..\..\LiteCAD\Data");
     //Lcad.PropPutStr(0, Lcad.LC_PROP_G_DIRPLUG, @"..\..\LiteCAD\Data\Plugins");
     //Lcad.PropPutStr(0, Lcad.LC_PROP_G_DIRCFG, @"..\..\LiteCAD");
     Lcad.PropPutBool(0, Lcad.LC_PROP_G_DLGRECENT, true);
     Lcad.PropPutBool(0, Lcad.LC_PROP_G_ADDRECENT, true);
     //gán các sự kiện mouse click với các hàm
     _EventMouseDbclick_LoMin            = new F_MOUSEDBLCLK(MouseDblClkProc_LoMin);
     _EventMouseDbclick_XayDungLuoiLoMin = new F_MOUSEDBLCLK(MouseDblClkProc_XayDungLuoiLoMin);
     _EventMouseDown_Default             = new F_MOUSEDOWN(MouseDownProc_Default);
     Lcad.OnEventMouseDblClk(_EventMouseDbclick_LoMin);
     Lcad.Initialize();
     //UI
     this.BackColor = Properties.Settings.Default.FormBackgroundColor;
 }
Example #3
0
        private void MouseDblClkProc_XayDungLuoiLoMin(int hWnd, int Button, int Flags, int Xwin, int Ywin, double Xdrw, double Ydrw)
        {
            int hBlockModel = Lcad.PropGetHandle(hDrw, Lcad.LC_PROP_DRW_BLOCK_MODEL);

            if (mgCircles == null)
            {
                mgCircles = new ManageCircle();
            }
            else
            {
                Lcad.LayerClear(layerLoMin, hBlockModel);
                Lcad.LayerClear(layerLuoiKichThuoc, hBlockModel);
                mgCircles = new ManageCircle();
            }
            int hEntCircle = Lcad.BlockAddCircle(hBlockModel, Xdrw, Ydrw, banKinh, false);

            Lcad.PropPutInt(hEntCircle, Lcad.LC_PROP_ENT_KEY, keyCircle);
            Lcad.PropPutStr(hEntCircle, Lcad.LC_PROP_ENT_LAYER, "LoMin");
            Lcad.BlockUnselect(hBlockModel);
            //tạo danh sách cột đầu tiên
            List <Circle> listCotDau = new List <Circle>();
            Circle        root       = new Circle(hEntCircle);

            listCotDau.Add(root);
            //tạo cột đầu tiên từ điểm gốc (số điểm trong cột ứng với số hàng trừ đi điểm gốc)
            for (int i = 0; i < soHang - 1; i++)
            {
                int newHEnt = Lcad.BlockAddClone(hBlockModel, listCotDau[i].GetHandle());
                Lcad.PropPutInt(newHEnt, Lcad.LC_PROP_ENT_KEY, keyCircle);
                Lcad.BlockSelectEnt(hBlockModel, newHEnt, true);
                Lcad.BlockSelMove(hBlockModel, 0, khoangCachHang, false, true);
                Lcad.BlockUnselect(hBlockModel);
                listCotDau.Add(new Circle(newHEnt));
            }
            mgCircles.AddListCircle(listCotDau);
            //thêm các cột còn lại (ứng với số cột trừ đi cột đầu)
            for (int i = 0; i < soCot - 1; i++)
            {
                List <Circle> listCotGanNhat = new List <Circle>();
                List <Circle> listCotMoi     = new List <Circle>();
                if (khoangCachCot > 0)
                {
                    listCotGanNhat = mgCircles.GetListCirleOfLastColumn();
                }
                else
                {
                    listCotGanNhat = mgCircles.GetListCirleOfFirstColumn();
                }
                foreach (var circle in listCotGanNhat)
                {
                    int newHEnt = Lcad.BlockAddClone(hBlockModel, circle.GetHandle());
                    Lcad.PropPutInt(newHEnt, Lcad.LC_PROP_ENT_KEY, keyCircle);
                    Lcad.BlockSelectEnt(hBlockModel, newHEnt, true);
                    Lcad.BlockSelMove(hBlockModel, khoangCachCot, 0, false, true);
                    Lcad.BlockUnselect(hBlockModel);
                    listCotMoi.Add(new Circle(newHEnt));
                }
                mgCircles.AddListCircle(listCotMoi);
            }
            //hiển thị lưới kích thước
            if (this.banVeChinh.HienKhoangCach)
            {
                DungLuoiKichThuoc();
            }
            //load lại
            //MessageBox.Show("hang" + soHang + "\ncot" + soCot + "\nkc hang" + khoangCachHang + "\nkc cot" + khoangCachCot + "\nX" + Xdrw + "\nY" + Ydrw);
            Lcad.DrwRegenViews(hDrw, 0);
            Lcad.WndExeCommand(hWnd, Lcad.LC_CMD_ZOOM_EXT, 0);
            Lcad.OnEventMouseDblClk(_EventMouseDbclick_LoMin);
            LuuHoChieu(this.hoChieuChinh.MaHoChieu);    //ăn gian...
            BS_LiteCAD.ShowNotifyAutoHide(elementHost1, "Xây dựng lưới lỗ khoan - hoàn thành");
        }