Example #1
0
    //------------------------------------------------------------------------------
    //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);
    }
Example #2
0
    //------------------------------------------------------------------------------
    //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());
        }
    }