使用CSharp操作PC-DMIS软件实现自动化

使用CSharp操作PC-DMIS软件实现自动化 (PC DMIS 软件)

PC DMIS 软件是在测量领域广泛使用的一款多功能软件,其具有用户友好的界面和开放的二次开发接口,因而在自动化领域得到广泛应用。
下面是简单的自动化实例程序说明,希望起到抛砖引玉的作用。
使用的工具:
VS2019 社区版,因为纯粹是个人爱好和学习;
pc-DIMIS 版本为2021版;

  1. 首先简单设计人机界面为下图所示:在这里插入图片描述
    我们的示例,简单的界面接口即可。
    软件启动后提示软件启动成功。这时候没有处理任何事务。
  2. 第一个功能是打开软件在这里插入图片描述
    单击‘打开PC-DMIS软件’按键,后台自动打开软件,主要代码参见:
 string msg = "PC-DMIS 启动成功!";
 if (pcd != null)
 {
     lblMainMsg.Text = msg;
     return;
 }
 LaunchNewPCD();
 lblMainMsg.Text = msg;

而启动方法LaunchNewPCD()中的核心代码为:

 Get type of Application through ProgID of PC-DMIS Application.
 //comType = Type.GetTypeFromProgID("PCDLRN.Application");
 Create instance of PC-DMIS through application type
 //comObj = Activator.CreateInstance(comType);
 //this.pcd = comObj as PCDLRN.Application;
 pcd = new PCDLRN.Application();

软件正常启动,并在启动后进行消息提示:PC-DMIS 启动成功!
3. 第二个功能是打开一个程序:单击打开程序按钮,选择一个程序,如下图在这里插入图片描述
单击打开后,如下图所示:
在这里插入图片描述
消息框提示打开成功。
打开程序代码核心为:

 OpenFileDialog ofd = new OpenFileDialog();
 ofd.Filter = "prg/cad文件(*.prg;*.cad)|*.prg;*.PRG;*.CAD|文本文件(*.txt) | *.txt | 所有文件(*.*) | *.*";
 ofd.FilterIndex = 1;
 if (ofd.ShowDialog() != DialogResult.OK)
     return;
 string file = ofd.FileName;
 PCDLRN.PartProgram  pp= pcd.PartPrograms.Open(file, "");
 FileInfo fi = new FileInfo(file);
 if(pp!=null)
 {
     string msg = $"PC-DMIS 打开程序{fi.Name}成功!";
     lblMainMsg.Text = msg;
 }
  1. 第三个功能是读取所有打开的程序列表:此时单击获取程序列表按钮,将得到打开的程序列表,如下图所示:在这里插入图片描述
    说明我们已经打开了2个prg程序。
    读取程序列表的核心代码为:
 this.CMBPrgList.Items.Clear();
 txtNotes.Text = "";
  PCDLRN.PartProgram part = null;
  if (pcd.PartPrograms.Count <= 0)
  {           
      MessageBox.Show("请打开一个prg程序后再进行尝试。");
      return;
  }
  pcd.ActivePartProgram.Visible = true;
  
  for (int i=0;i<pcd.PartPrograms.Count;i++)
  {
      part = pcd.PartPrograms.Item(i + 1);
      //part.EditWindow.ShowAlignments = true;
      CMBPrgList.Items.Add(part.Name);
      txtNotes.Text += part.Name + Environment.NewLine;
  }
  if (CMBPrgList.Items.Count > 0)
  {
      CMBPrgList.SelectedIndex = 0;
  }
  else
  {
      MessageBox.Show("请打开一个prg程序后再进行尝试。");
      return;
  }
  string msg = $"PC-DMIS 已经打开的程序列表读取成功!";
  lblMainMsg.Text = msg;

5.最后,我们再添加一个简单的显示,隐藏PC程序的功能,界面按钮参见下图:在这里插入图片描述
简要代码为:

 pcd.Visible = !pcd.Visible;
 if (pcd.Visible)
     btnHideShowPcd.Text = "单击隐藏PC DMIS";
 else
     btnHideShowPcd.Text = "单击显示PC DMIS";
  1. 结束语:
    以上为简单的PC DMIS程序的自动化基础操作。抛砖引玉。
    有机会和各位同仁一起为自动化产业贡献绵薄之力。
    程序源码已经上传到csdn:
    https://download.csdn.net/download/weixin_45858866/85045679
    添加链接描述

2022-3-27

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值