//... 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(); }
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; }
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"); }