//------------------------------------------------------------------------------ //Callback Name: ApplyCB //------------------------------------------------------------------------------ public int ApplyCB() { int errorCode = 0; try { //得到选中的图纸 int[] sel = list_box0.GetProperties().GetIntegerVector("SelectedItems"); string sheetpath; S_SheetTemplet SheetTemplet; if (sel.Length == 0) { theUI.NXMessageBox.Show("Block Styler", NXMessageBox.DialogType.Warning, "请选择图纸!"); return(1); } else { string type = enum0.GetProperties().GetEnumAsString("Value"); if (type == "A3") { SheetTemplet = SheetTempletListA3[sel[0]]; } else if (type == "A4") { SheetTemplet = SheetTempletListA4[sel[0]]; } else { SheetTemplet = SheetTempletListOther[sel[0]]; } } sheetpath = NXFun.TDPPMPath + SheetTemplet.filepath; //得到名称 string sheetname = string0.GetProperties().GetString("Value"); if (NXFun.isFindInList(SheetNames, sheetname)) { theUI.NXMessageBox.Show("Block Styler", NXMessageBox.DialogType.Warning, "图纸名称已存在!"); return(1); } //创建图纸页 S_SheetAttr sheetattr; sheetattr.GUID = Guid.NewGuid().ToString(); sheetattr.ISPRINT = "是"; sheetattr.ISCHECKED = "否"; sheetattr.REMARK = SheetTemplet.chinese; sheetattr.TEMPLET = SheetTemplet.name; NXFun.CreateSheet(sheetname, sheetpath, sheetattr); } catch (Exception ex) { errorCode = 1; theUI.NXMessageBox.Show("Block Styler", NXMessageBox.DialogType.Error, ex.ToString()); } return(errorCode); }
//------------------------------------------------------------------------------ //Callback Name: dialogShown_cb //------------------------------------------------------------------------------ public void dialogShown_cb() { try { //读取SheetTemplet.xml中的模板信息 string xmlpath = NXFun.TDPPMPath + "SheetTemplet.xml"; List <S_SheetTemplet> SheetTempletList = XML3DPPM.GetSheetTempletList(xmlpath); //分类存储 SheetTempletListA3.Clear(); SheetTempletListA4.Clear(); SheetTempletListOther.Clear(); foreach (S_SheetTemplet SheetTemplet in SheetTempletList) { if (SheetTemplet.type == "A3") { SheetTempletListA3.Add(SheetTemplet); } else if (SheetTemplet.type == "A4") { SheetTempletListA4.Add(SheetTemplet); } else { SheetTempletListOther.Add(SheetTemplet); } } stringA3 = new string[SheetTempletListA3.Count]; for (int i = 0; i < SheetTempletListA3.Count; i++) { stringA3[i] = SheetTempletListA3[i].chinese; } stringA4 = new string[SheetTempletListA4.Count]; for (int i = 0; i < SheetTempletListA4.Count; i++) { stringA4[i] = SheetTempletListA4[i].chinese; } stringOther = new string[SheetTempletListOther.Count]; for (int i = 0; i < SheetTempletListOther.Count; i++) { stringOther[i] = SheetTempletListOther[i].chinese; } //设置初始显示状态 enum0.GetProperties().SetEnumAsString("Value", "A3"); list_box0.GetProperties().SetStrings("ListItems", stringA3); //取得当前的图纸名称列表 NXOpen.Drawings.DrawingSheet[] ds = theSession.Parts.Work.DrawingSheets.ToArray(); SheetNames = new string[ds.Length]; for (int i = 0; i < ds.Length; i++) { SheetNames[i] = ds[i].Name; } list_box02.GetProperties().SetStrings("ListItems", SheetNames); //设置图纸名 string name; int n = 1; do { name = "SHT" + n.ToString(); n++; } while (NXFun.isFindInList(SheetNames, name)); string0.GetProperties().SetString("Value", name); } catch (Exception ex) { theUI.NXMessageBox.Show("Block Styler", NXMessageBox.DialogType.Error, ex.ToString()); } }