需求
DOTD工具是用于设置材料的汇料开关属性,属性有两个Mtocomponent和Mtotube,当Mtocomponent设置为DOTD时,该材料在抽取材料表的时候会被忽略,当Mtotube设置为DOTD时,该材料出口直管段在抽取材料的时候会被忽略,我按照这个思路做了一个DOTD工具(模块)。
因为我想把之前的MTO工具做成一个工具集,因此我做了三件事,第一是把名字由MTO Tools改为Pipeline Tools,第二是把新加功能作为子功能模块放在Pipeline工具集里,第三是增加用户设置功能,原来只能添加PIPE到list列表,现在可以根据用户的设置来决定在list列表里添加PIPE还是BRAN,因为DOTD值处理时是以bran为单位进行的,增加用户设置功能提高了软件的灵活性和扩展性,为将来更多功能需要不同类型的list数据做好准备。
思路
以仪表处理距离
//遍历bran的member foreach (DbElement db in members) { DbElementType dbType = db.GetElementType(); //当前元素的数据类型 TBrItemsDotdRecord drInSpco = new TBrItemsDotdRecord(); //函数返回值对象 if (dbType == DbElementTypeInstance.INSTRUMENT) //如果是仪表 { string menberType0 = db.GetString(DbAttributeInstance.MTOC); //求仪表的MTOC属性 if (menberType0 == string.Empty) //判断MTOC的值,如果是empty,修改为DOTD { //设置元素db的MTOC和MTOT属性(Service层函数),并将经过处理元素信息返回 drInSpco = mc.setDbElementDOTD(db, BrItemsDOTDService.ENDPOINT.H, //仪表件不需要ENDPOINT属性,全部默认为H BrItemsDOTDService.MTOVALID.DOTD, BrItemsDOTDService.MTOVALID.DOTD); if (drInSpco != null) //行记录不为空,写入结果集list { BrItemList.Add(drInSpco); }将返回的元素信息加入数据集 } //判断其它内容 1.是否同时虚配对法兰垫片 2.如果是同时,仪表两端夹的是不是配对法兰和垫片 3.如果是,执行虚处理 4.如果不是,说明仪表该面对接的不是垫片和法兰,应当跳过 ... } }
讯享网
演示效果

讯享网
图1 DOTD功能界面

效果演示

图2 虚所有材料

图3 虚仪表并显示结果集

图4 仪表被虚掉

图5 虚仪表同时虚配对法兰
末端法兰的MTOT属性应该为空,不要设置成DOTD

图6 恢复被虚的仪表

图7 虚管嘴配对法兰垫片
多显示一列,表识管线的Head和Tail

图8 虚管嘴配对法兰垫片的策略选择

图9 用户自定义设置

图10 用户自定义属性配置文件
总结和后期改进
- 目前值只有一个DOTD,公司还使用了DOTU,目前不知道作用是什么,有待学习;
- 让功能更加灵活,可设置的虚材料条件更多,增加对一种或几种材料的专门处理功能,材料种类范围可以设置;
- 优化程序,减少元件遍历时,对无关元件的操作,提高效率。
- 验证了PDMS二次开发的程序可以依靠配置文件(例如xml文件)实现软件功能的可设定性,增强了软件的灵活性,配置文件损坏丢失时,可以自动一键恢复,提高程序的健壮性。
欢迎关注公众号,一起讨论数字化工厂和全生命周期材料管理知识

视频
https://v..com/x/page/n0919kzy2dg.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/52299.html