化工制图中,有很多明细表的中的文字描述已经全完表达了部件的尺寸。
能否提取部件的尺寸,直接得到此部件的重量呢?
部件规格本身就需要填写,填完规格后,自动获得重量,那么省却了一步用其他方法计算重量的过程,节省了劳动。
那么应该如何实现这个过程呢?
首先我们分析一下一般的零部件分类以及标记方法有哪些:
序号 | | | | | | EHA2000x20(18);h=25 EHA2000x20(min18) h=25 EHA2000×20(min18) EHA2000 X 20(min18)
(和(等同 | 如果写了h=,则按h值,如果没有写则按照规范,大于2000h为40,小于等于2000为25.
| | | ID2000x20;L=3000 ID2000X20 L=3000 ID2000×20 L=3000
x,X,×为都为乘号
| | | | |
| 4 | | φ1200/Φ1000x20;L=500 Φ1200/φ1000×20;L=500 Φ1200/φ1000X20 L=500 |
| 5 | | φ200/φ100;L=300 Φ200/Φ100;L=300 Φ200/Φ100 L=300 φ1200/φ1000;δ=20 Φ1200/%%C1000 δ=20 Φ1200/%%C1000 t=20 Φ1200/%%C1000x20
φΦ或%%C都为相同数据 δ和t为相同数据 |
| 6 | | OD60.3x7;L=500 %%C60.3X7 L=1000 Φ60.3X7 L=1000
x,X,×为都为乘号 | 外径为基准 若有Φ60.3X7则提示输入L(输入为空则按照100) | | 圆平板(平盖、盲法兰、管板、折流板、防冲板)
棒材(拉杆) | φ1200;δ=20 Φ1200 δ=20
φ1200;t=20 φ1200 t=20
φ20; L=865 Φ20 L=865 %%C20 L=865 |
| 8 | | |
| 对于规格标记中:
1. φΦ或%%C都为相同数据;
2. δ和t为相同数据;
3. 中英文的(和(等同;
4. 结果重量大于等于1000四舍五入取整数,大于等于100kg保留一位小数,小于100,保留2位小数。
那么应该如何用程序实现呢?
最朴素的想法:
获得规格标记文字后,提取文字中一些特殊字符,如果符合,则可以判断它属于哪类。
按照它的类别再提取数字字符,最后得到零部件规格的数据,计算重量。
比如获得了“封头 EHA2000x20(18) h=25”,搜索特征字符EHA,如果含有EHA字符,说明它100%是椭圆封头,然后提取字符2000,20,18,25,我们需要使用的就是2000,20和25这三个尺寸,用这三个数字计算椭圆重量即可。
所以草绘了流程如下:
有朋友问,如果我描述和标准的不一样怎么办。
一般来说需要规格的描述和上表一样 。
如果属于1-8的字符描述,但是有些略微不一样,也可以试试找到VCAD的安装目录下“VCADdatacalcalweightsymbol.txt”的文件,里面每行对应的一种规格描述。
其中每行的*代表被省略的字符
EHA,ID之类的字符代表规格标识字符。
“,”代表另规格的另一种标识方法。
假设,用户对于筒体的规格描述为:“筒体 DN1000X100 L=1000”,程序无法识别。
这时打开“calweightsymbol.txt”文件,添加另一种标识方法。“,*DN*”,如下图所示,关闭并保存。
再试一下,是不是可以识别了?
最后编程实现,其效果如下:
本程序已经更新到VCAD2018,正版用户可以提前单独索取。
往期精彩:
管法兰程序一个小改进
VCAD钣金展开
一分钟生成30个件号
VCAD2018试用版
VCAD高压法兰参数化
锥体的参数化画图
文章来源:https://mp.weixin.qq.com/s/dQzG2BjeHzfWUDlN_GRJ4g |