//新建图纸页按钮 private void tsrbtnAdd_Click(object sender, EventArgs e) { TreeNode sel = tvwSheet.SelectedNode; if (sel == null || (sel.Tag.ToString() != "Gongyi" && sel.Tag.ToString() != "Gongxu")) { SetStatusLabel("请选中树中工艺或工序节点", 1); return; } int index = sel.Index; string filename = XML3DPPM.GetModelName(0, index, XmlFile); if (string.IsNullOrEmpty(filename)) { SetStatusLabel("选中节点下无模型,请在编辑模型模块中创建模型!", 1); return; } Part prt = NXFun.OpenPrt(ToFullPath(filename)); if (prt == null) { SetStatusLabel("打开模型错误!", 1); return; } mainDlg.Enabled = false; //如果这里不禁用主窗口,再点击一次添加或退出就会出错,而如果直接隐藏主窗口有时会把NX隐藏,奇怪的很。 // mainDlg.WindowState = FormWindowState.Minimized; CreateSheet.MainFun(); mainDlg.Enabled = true; // mainDlg.WindowState = FormWindowState.Normal; SetStatusLabel("添加图纸页返回", 2); FreshSheetTree(); }
//双击打开模型 private void tvwSheet_MouseDoubleClick(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { System.Drawing.Point clickPoint = new System.Drawing.Point(e.X, e.Y); TreeNode sel = tvwSheet.GetNodeAt(clickPoint); //判断点击的是否是一个节点 if (sel != null && sel.Tag.ToString() == "Sheet") { string prtfullpath = ToFullPath(XML3DPPM.GetModelName(0, sel.Parent.Index, XmlFile)); string guid = sel.Name; NXFun.OpenPrt(prtfullpath); NXFun.ShowSheetByGuid(prtfullpath, guid); SetStatusLabel("已显示图纸页", 2); } } }
//打开图纸页按钮 private void tsrbtnOpen_Click(object sender, EventArgs e) { TreeNode sel = tvwSheet.SelectedNode; if (sel == null || sel.Tag.ToString() != "Sheet") { SetStatusLabel("请选中树中图纸节点", 1); return; } string prtfullpath = ToFullPath(XML3DPPM.GetModelName(0, sel.Parent.Index, XmlFile)); string guid = sel.Name; NXFun.OpenPrt(prtfullpath); NXFun.ShowSheetByGuid(prtfullpath, guid); SetStatusLabel("已显示图纸页", 2); //FreshSheetTree(); }
//删除图纸页按钮 private void tsrbtnDel_Click(object sender, EventArgs e) { TreeNode sel = tvwSheet.SelectedNode; if (sel == null || sel.Tag.ToString() != "Sheet") { SetStatusLabel("请选中树中图纸节点", 1); return; } DialogResult dialogResult = MessageBox.Show("是否删除选中图纸?", "提示信息", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dialogResult != DialogResult.Yes) { return; } string prtfullpath = ToFullPath(XML3DPPM.GetModelName(0, sel.Parent.Index, XmlFile)); string guid = sel.Name; NXFun.OpenPrt(prtfullpath); NXOpen.Drawings.DrawingSheet ds = NXFun.GetSheetByGuid(prtfullpath, guid); NXFun.DeleteObject(ds); SetStatusLabel("已删除图纸页", 2); FreshSheetTree(); }