Example #1
0
 //计时器,多线程执行全选宏操作
 private void timer1_Tick(object sender, EventArgs e)
 {
     try
     {
         if (((Timer)sender).Tag.ToString() == "全选")
         {
             timer1.Stop();
             ObjectsInView = NXFun.GetSelectObjects();
             NXFun.RemoveAllSelect();
             timer1.Interval = 1000;
             timer1.Tag      = "取消全选";
             timer1.Start();
         }
         else if (((Timer)sender).Tag.ToString() == "取消全选")
         {
             timer1.Stop();
             //遍历尺寸
             List <NXOpen.Annotations.Dimension> dims = NXFun.GetDimensionInCurrentView(ObjectsInView);
             List <NXOpen.Annotations.BaseFcf>   fcfs = NXFun.GetBaseFcfInCurrentView(ObjectsInView);
             LabelDimMap.Clear();
             foreach (NXOpen.Annotations.Dimension dim in dims)
             {
                 DimInfor diminfor = NXFun.GetDimInfor(dim);
                 //存入Dictionary
                 LabelDimMap.Add(diminfor.id, diminfor);
             }
             LabelFcfMap.Clear();
             foreach (NXOpen.Annotations.BaseFcf fcf in fcfs)
             {
                 DimInfor diminfor = NXFun.GetFcfInfor(fcf);
                 LabelFcfMap.Add(diminfor.id, diminfor);
             }
             //转存到  LabelDimList
             LabelDimList.Clear();
             foreach (int k in LabelDimMap.Keys)
             {
                 foreach (DimInfor diminfor in LabelDimMap[k])
                 {
                     LabelDimList.Add(diminfor);
                 }
             }
             //转存到  LabelFcfList
             LabelFcfList.Clear();
             foreach (int k in LabelFcfMap.Keys)
             {
                 foreach (DimInfor diminfor in LabelFcfMap[k])
                 {
                     LabelFcfList.Add(diminfor);
                 }
             }
             //刷新显示
             RefreshDisplay();
             SetStatusLabel("查询结束!", 2);
         }
     }
     catch (System.Exception ex)
     {
         NXFun.MessageBox(ex.Message);
     }
 }
Example #2
0
 //查询按钮
 private void tsrbtnSearch_Click(object sender, EventArgs e)
 {
     try
     {
         NXFun.SetHighlight(oldhighlight, false);
         //确认打开图纸页
         NXOpen.Drawings.DrawingSheet ds = NXFun.GetOnShowSheet();
         if (ds == null)
         {
             SetStatusLabel("请打开图纸页!", 1);
             return;
         }
         IsEdit = true;
         S_Sheet sheet = NXFun.GetSheetTemplet(ds);
         OnEidtSheetGuid = sheet.guid;
         NXFun.Fit();
         NXFun.SelectAll();
         timer1.Interval = 1000;
         timer1.Tag      = "全选";
         timer1.Start();
     }
     catch (System.Exception ex)
     {
         NXFun.MessageBox(ex.Message);
     }
 }
Example #3
0
 //形位起始编号改变
 private void tsrtxtXingwei_TextChanged(object sender, EventArgs e)
 {
     try
     {
         int i = System.Convert.ToInt32(tsrtxtXingwei.Text);
         FcfStartNum = i;
         RefreshDisplay();
     }
     catch (System.Exception ex)
     {
         NXFun.MessageBox(ex.Message);
     }
 }
Example #4
0
        //帮助按钮
        private void tsrbtnHelp_Click(object sender, EventArgs e)
        {
            string help =
                "注意事项:\n" +
                "1、支持继承的三维PMI标注;\n" +
                "2、编号必须在1~999之间;\n" +
                "3、如遇警告“试图使用不活动的对象”,请点击查询按钮重新查询;\n" +
                "4、投影视图如果不是1:1,可能标号尺寸会大小不一,NX手工操作亦然,此问题待解决。\n" +
                "------------------\n" +
                "打标号工具 V1.0";

            NXFun.MessageBox(help, "帮助", 1);
        }
Example #5
0
        //刷新dgv
        private void RefreshDisplay()
        {
            try
            {
                tsrbtnSearch.Visible = !IsEdit;
                tsrbtnOk.Visible     = IsEdit;
                tsrbtnCancel.Visible = IsEdit;

                bieluandong = true;
                dgvChicun.Rows.Clear();
                for (int i = 0; i < LabelDimList.Count; i++)
                {
                    string title = "";
                    if (LabelDimList[i].isLabel == "是")
                    {
                        title = (i + DimStartNum).ToString();
                        DimInfor temp = LabelDimList[i];
                        temp.id         = i + DimStartNum;
                        LabelDimList[i] = temp;
                    }
                    dgvChicun.Rows.Add(title);
                    dgvChicun[1, i].Value = LabelDimList[i].text;
                    dgvChicun[2, i].Value = LabelDimList[i].value;
                    dgvChicun[3, i].Value = LabelDimList[i].up;
                    dgvChicun[4, i].Value = LabelDimList[i].low;
                    dgvChicun[5, i].Value = NXFun.string2bool(LabelDimList[i].isLabel);
                    DataGridViewCheckBoxCell a = (DataGridViewCheckBoxCell)dgvChicun[5, i];
                }
                dgvXingwei.Rows.Clear();
                for (int i = 0; i < LabelFcfList.Count; i++)
                {
                    string title = "";
                    if (LabelFcfList[i].isLabel == "是")
                    {
                        title = "J" + (i + FcfStartNum).ToString();
                        DimInfor temp = LabelFcfList[i];
                        temp.id         = i + FcfStartNum;
                        LabelFcfList[i] = temp;
                    }
                    dgvXingwei.Rows.Add(title);
                    dgvXingwei[1, i].Value = LabelFcfList[i].text;
                    dgvXingwei[2, i].Value = LabelFcfList[i].value;
                    dgvXingwei[3, i].Value = NXFun.string2bool(LabelFcfList[i].isLabel);
                }
                bieluandong = false;
            }
            catch (System.Exception ex)
            {
                NXFun.MessageBox(ex.Message);
            }
        }
Example #6
0
        //打开或新建工艺时初始化
        private void OpenOrCreateProjectInit()
        {
            //变量值
            IsProjectOpen = true;

            //控件状态
            pnlWelcome.Hide();
            pnlMain.Show();

            this.Text = ProPath + "\\" + ProName + ".3dppm";
            //更新会签
            if (NXFun.isFileExist(ToFullPath(NXFun.SignOffXML)))
            {
                bool result = XML3DPPM.UpdateSignOff(XmlFile, ToFullPath(NXFun.SignOffXML));
                if (result)
                {
                    NXFun.MessageBox("更新会签信息成功,请在\"编辑图纸->二维图表\"模块点击\"更新表头\"来刷新会签信息。");
                }
                else
                {
                    NXFun.MessageBox("更新会签信息失败,请确认会签文件是否有效!");
                }
            }
            //操作
            ProcessEdit.ProPath = ProPath;
            ProcessEdit.ProName = ProName;
            ProcessEdit.Init();

            ModelEdit.ProPath = ProPath;
            ModelEdit.ProName = ProName;
            ModelEdit.Init();

            SheetEdit.ProPath = ProPath;
            SheetEdit.ProName = ProName;
            SheetEdit.Init();
        }