SolidWorks PDM二次开发---检出与检入

五一放假后半段了,今天来聊一下PDM中的检出与检入文件。
在这里插入图片描述
一翻译,发现检出 和检入的英文是Check Out Check in

好,打开api help。
在索引中发现这个是关于bom对象的。我要找的是文件的。
在这里插入图片描述
然后到搜索里面找一下: 发现了指定检入 和检出 文件的示例:
在这里插入图片描述
它这里面每个例子都是完整的,需要自己按它的操作一步步来创建窗体。
在这里插入图片描述
我们进去找一下最关键的地方,它这里用的是pdm提供的批量的方法。
我们这一次是想检出指定的一个文件,经过查找 ,发现对单个文件的检出 ,其实用的不是check out和check in 这个词。
用的是LockFile 和UnLockFile,看下面的描述。 难怪 上一个文章显示信息的时候,也是用的是否锁定。
所以简单理解 就是文件锁定,肯定是别人检出了。
在这里插入图片描述

先手动检入一个文件:
在这里插入图片描述

在这里插入图片描述

执行完之后 ,文件已经被已经登陆的当前用户检出了。
在这里插入图片描述

再看一下检入的动作,看代码的提示发现有两个可以进行的操作:
在这里插入图片描述
这两个的区别还是比较明显的,就是一个是不检出文件,这个是如果改了就放弃保存了。
另一个才是真正的检入。
在这里插入图片描述
在这里插入图片描述
两个方法有些不同的参数:
在这里插入图片描述
在执行完上面一条,文件当前已经被检入了。看下历史记录:
在这里插入图片描述
上代码: 其实内容比较简单:

 try
            {
               

                //new 一个库对象
                var vault = new EdmVault5();

                //登陆到库中
                vault.LoginAuto("PDM2020Default", this.Handle.ToInt32());
                
                var vault2 = (IEdmVault7)vault;

                var rootPath = vault2.RootFolderPath;

                string filePath = $@"{rootPath}\PDMTraining\文件1.txt";

                IEdmFile14 aFile = default(IEdmFile16);
                IEdmFolder5 ppoRetParentFolder;
                aFile = (IEdmFile16)vault2.GetFileFromPath(filePath, out ppoRetParentFolder);

                aFile.LockFile(ppoRetParentFolder.ID,0,0);

                if (aFile.IsLocked)
                {
                    MessageBox.Show("检出成功。");

                    //把文件内容做修改后保存后,检入。

                    aFile.UnlockFile(0,"修改内容为2",0,null); //检入

                    //aFile.UndoLockFile(0,true);  //撤销检出

                    if (!aFile.IsLocked)
                    {
                        MessageBox.Show("检入成功。");
                    }


                }


            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
                throw;
            }
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Paine Zeng

如果对有帮助,请我喝咖啡吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值