王玉梅1 薛兴东2
2. 北京多维汇通科技有限公司,北京)
摘要:碾尖弹簧下料长的计算通常有两种方法: 经验公式法和体积等效转换计算法,经验公式法是工艺人员根据统计的数据经验,利用经验公式计算得出,其准确度取决于工艺设计人员的经验;而体积等效转换计算法的计算结果比较准确,但是计算过程较为繁复。本文介绍一种精确计算下料长的方法,并利用VB.NET对PRO/E进行二次开发,建立下料长计算平台,此平台准确度高,料径Φ25~Φ50弹簧下料长计算值与实际测量值的误差10mm之内(主要是碾尖加工出现的误差所致),此平台操作简单,即使没有经验的技术人员也能够准确计算下料长。该法应用可以对现行下料工艺参数和弹簧成形工艺参数进行快速优化计算,从而达到节约材料成本和提高工艺设计准确性的目的。
关键词:碾尖弹簧;下料长计算;VB.net;Pro/E 二次开发
中图分类号: TP311 文献标志码:A
0引言
对于碾尖弹簧来说,弹簧展开长的选取,直接影响弹簧的质量和经济效益,展开长过长的话,一是影响弹簧压并高度和挠度余量,同时也会造成制造成本的增加。在工艺设计中也是追求采用最短的料长满足弹簧性能的要求。但是如果设计过短,会影响弹簧刚度,对于动态疲劳寿命要求较高的弹簧,由于展开长设计过短,为满足弹簧刚度要求,势必会减少支撑圈数,造成弹簧“线接触”过短,影响弹簧使用寿命。因此准确设计弹簧碾尖参数和弹簧钢棒下料长度,从而获得精准的弹簧坯料展开长度是非常重要的。
目前,碾尖弹簧下料长的给定有两种方法:经验公式法和体积等效转换计算法。经验公式法就是按照经验公式L=兀D(n1-k);其中D:中径,n1:总圈,K:经验系数,根据不同料径,选取不同的K值。该方法需要选取适宜的经验系数,并通过工艺验证来达到工艺设计的准确。所以,很难适应于性能要求和空间要求较为严格弹簧的工艺设计,且工艺设计成本较高。
体积等效转换计算法就是利用碾尖前后体积相等的原理,计算出弹簧碾尖的抻长量,该方法虽然计算较为准确,计算方法得当的前提下,无需进行工艺设计验证。但该方法计算过程较为繁复,对设计人员计算能力要求较高,计算费时,不利于工艺优化工作的开展。
本文介绍一种精确计算下料长的方法,并利用VB对PRO/E进行二次开发,建立下料长计算平台,此平台准确度高,料径Φ25~Φ50弹簧下料长计算值与实际测量值的误差10mm之内(主要是碾尖加工出现的误差所致),此平台操作简单,即使没有经验的技术人员也能够准确计算下料长。该法应用可以对现行下料工艺参数和弹簧成形工艺参数进行快速优化计算,从而达到节约材料成本和提高工艺设计准确性的目的。
1 开发流程
Pro/Engineer(以下简称Pro/E)是美国PTC公司的产品,从5.0版本其改名为Creo Parametric 2.0,本平台是应用VISUAL STUDIO 2010对Pro/E进行二次开发,对Pro/E wildfire 3.0之前的版本进行二次开发的语言主要是C/C++,入门门槛较高,在Pro/E4.0 wildfire以后的版本中自带了VB_API接口,可以直接使用visual basic2010和Pro/E 进行连接,Creo Parramettrriic的通讯模式主要有两种,一种为同步模式,“DLL 模式”(DLL mode) - Creo Parametric 可执行文件在运行时加载动态链接库(DLL)。DLL 和Creo Parametric 之间的通讯会以尽可能快的速度进行,因此DLL 模式是应用程序开发******的模式。另一种可用模式是异步模式应用程序,在异步模式应用程序中,外部应用程序会根据需要启动或连接Creo Parametric 外部会话。
考虑到本程序主要面向工艺人员,对CAD的功能相对不熟悉,故采用异步模式,采用VB.Net封装ProE/Creo,前台采用友好的界面,输入相关参数,软件自动进行相关计算,并显示相关结果,可以保存成为记事本TXT文件或者EXCEL文件,软件会自动追加当前数据到以后的目录。软件友好性非常详细直观。
碾尖弹簧下料长计算平台建立过程就是利用VB10.0对Pro/E进行二次开发的过程,利用VB10.0建立的用户界面控制Pro/E模型,并自动提取多个模型参数,进行数学运算,实现碾尖弹簧下料长的自动计算,其建立的流程如图1所示。
图1 计算平台建立流程
1.1 安装Pro/E和VB.Net2010
获得Pro/E和VB.Net2010和安装文件,运行setup.exe,开始安装,按照屏幕上的提示一步步安装直至安装结束。
一个VB.NET程序可以通过CcpfcAsyncConnection.Start()方法去产生并连接到一个Pro/ENGINEER进程。一旦方法返回异步连接对象,C#程序可以使用相应的API去调用Pro/ENGINEER进程。在交互模式,当它运行时,你还可以在你的计算机上访问Pro/ENGINEER会话。
当Pro/ENGINEER终止时,这个程序不会终止。当程序只是临时需要进行Pro/ENGINEER操作的时候很有用,因此在会话中,必须启动和停止Pro/ENGINEER一次以上。
在任何时候,只有一个Pro/ENGINEER会话可以被启动或连接。如果C#程序产生出第二个会话,对第一个会话的连接将丢失。
想实现终止任何程序连接的Pro/ENGINEER进程,调用IpfcAsyncConnection.End()方法。
1.2 设置环境变量
PRO_COMM_MSG_EXE=”C:\ProgramFiles\PTC\CreoElements\Pro5.0\i486_nt\obj\pro_comm_msg.exe”
PRO_DIRECTORY=C:\Program Files\PTC\Creo Elements\Pro5.0
1.3 连接Pro/E
打开VB10.0,添加一个windows 窗体应用程序,添加引用cero vb api的引用。
图2 在VB中添加引用
1.4 建立用户界面
在VB.NET 2010中添加所需要的label控件、TextBox控件、Button控件、MenuStrip控件等,并修改其属性,建立如图3所示的用户界面。
1.5 添加代码
添加的代码主要实现以下功能:连接Pro/E、打开模型、激活窗口、更改参数、再生模型、提取参数、公式计算、断开Pro/E等。比如连接Pro/E的代码如下:
proedir = Environment.GetEnvironmentVariable("PRO_DIRECTORY")
proe1 = proedir + "\bin\proe1.bat"
asyncConnection = (New CCpfcAsyncConnection).Start(proe1 + " -g:no_graphics -i:rpc_input", ".")
其中参数-g:no_graphics -i:rpc_input表示后台静默打开Pro/E,前台不显示Pro/E界面。
Pro/ENGINEER 进程的状态方法介绍:
IpfcAsyncConnection.IsRunning()
想判断一个Pro/ENGINEER进程是否运行,使用方法pfcAsyncConnectionAsyncConnection.IsRunning。
得到会话对象方法介绍:
IpfcAsyncConnection.Session
更改工作目录方法介绍:
session.ChangeDirectory(workDir)
1.6 测试程序
在用户界面中输入尖长、尖厚、料径、总圈数和中径参数,点击“下料长度计算”按钮,平台自动计算,计算结束后,自动输出展开长、单边抻长量和下料长的数值,如图3所示。
图3 计算平台界面展示
图4 计算输出输出设置
下料软件的相关设置保存在server.ini中,可以根据需求选择Pro/E的版本。
结果文件保存到文本和Excel中,输出默认以追加的形式,方便用户记录统计,同时,可以根据需求更改每次保存文件名,见图4。其中文本追加代码见下。
If fPath = Nothing Then
MsgBox("请设置文件输出路径)
Else
Dim tmpCount As Integer=0
tmpCount = File.ReadAllLines(fPath).Length
Dim stW As StreamWriter
stW = New StreamWriter(fPath, True, System.Text.Encoding.Default)
stW.WriteLine(data)
stW.Flush()
stW.Close()
stW = Nothing
Me.Cursor = Cursors.Default
End If
2 应用
此平台的界面简单,操作方便,只需要输入料径、总圈数、弹簧中径、尖长和尖厚五个参数,平台自动计算出弹簧的展开长,碾尖的抻长量和弹簧的下料长。通过对多种弹簧的计算值和实际值对比,计算精度非常高,料径Φ25~Φ50弹簧,下料长计算误差10mm之内,料径Φ55以上弹簧,下料长计
算误差20mm之内,详见表1。该平台的应用可以对现行下料工艺参数和弹簧成形工艺参数进行快速优化计算,从而达到节约材料成本和提高工艺设计准确性的目的。
表1 计算平台验证对照表
序号
|
料径
|
尖长
|
尖厚
|
抻长量计算值
|
实际统计值
|
实际误差
|
1
|
25
|
240
|
9
|
56.5
|
60
|
3.5mm
|
2
|
30
|
315
|
9
|
82.8
|
85
|
2.2mm
|
3
|
37
|
390
|
11
|
103
|
110
|
7mm
|
4
|
40
|
490
|
12.5
|
126
|
133
|
7mm
|
5
|
45
|
410
|
16
|
97.5
|
100
|
2.5mm
|
6
|
50
|
400
|
16
|
101.6
|
95
|
6.6mm
|
7
|
55
|
420
|
18
|
105
|
120
|
15mm
|
3 小结
目前,碾尖弹簧下料长的给定有两种方法:经验公式法和体积等效转换计算法。经验公式法的精度取决于工艺技术人员的经验,而体积等效转换计算法计算精度虽然较高,但是计算过程较为繁复。
本文建立的下料长计算平台,采用异步模式,采用VB.Net封装ProE/Creo,前台采用友好的界面,输入相关参数,软件自动进行相关计算,并显示相关结果,可以保存成为记事本TXT文件或者EXCEL文件,软件会自动追加当前数据到以后的目录。该平台能够准确的计算碾尖弹簧的下料长度,料径Φ25~Φ50弹簧,下料长计算误差10mm之内,料径Φ55以上弹簧,下料长计算误差20mm之内(主要是碾尖加工出现的误差所致),此平台界面友好,即使没有经验的技术人员也能够准确计算下料长。该法应用可以极大提高工艺设计的精准水平和设计效率,同时也便于对现行碾尖工艺参数和弹簧成形工艺参数进行快速优化计算,从而达到节约材料成本和提高工艺设计准确性的目的。