王玉梅1 薛興東2
2. 北京多維匯通科技有限公司,,北京)
摘要:碾尖彈簧下料長(zhǎng)的計(jì)算通常有兩種方法: 經(jīng)驗(yàn)公式法和體積等效轉(zhuǎn)換計(jì)算法,,經(jīng)驗(yàn)公式法是工藝人員根據(jù)統(tǒng)計(jì)的數(shù)據(jù)經(jīng)驗(yàn),,利用經(jīng)驗(yàn)公式計(jì)算得出,其準(zhǔn)確度取決于工藝設(shè)計(jì)人員的經(jīng)驗(yàn),;而體積等效轉(zhuǎn)換計(jì)算法的計(jì)算結(jié)果比較準(zhǔn)確,,但是計(jì)算過(guò)程較為繁復(fù)。本文介紹一種精確計(jì)算下料長(zhǎng)的方法,,并利用VB.NET對(duì)PRO/E進(jìn)行二次開(kāi)發(fā),,建立下料長(zhǎng)計(jì)算平臺(tái),此平臺(tái)準(zhǔn)確度高,,料徑Φ25~Φ50彈簧下料長(zhǎng)計(jì)算值與實(shí)際測(cè)量值的誤差10mm之內(nèi)(主要是碾尖加工出現(xiàn)的誤差所致),,此平臺(tái)操作簡(jiǎn)單,,即使沒(méi)有經(jīng)驗(yàn)的技術(shù)人員也能夠準(zhǔn)確計(jì)算下料長(zhǎng)。該法應(yīng)用可以對(duì)現(xiàn)行下料工藝參數(shù)和彈簧成形工藝參數(shù)進(jìn)行快速優(yōu)化計(jì)算,,從而達(dá)到節(jié)約材料成本和提高工藝設(shè)計(jì)準(zhǔn)確性的目的,。
關(guān)鍵詞:碾尖彈簧;下料長(zhǎng)計(jì)算,;VB.net,;Pro/E 二次開(kāi)發(fā)
中圖分類(lèi)號(hào): TP311 文獻(xiàn)標(biāo)志碼:A
0引言
對(duì)于碾尖彈簧來(lái)說(shuō),彈簧展開(kāi)長(zhǎng)的選取,,直接影響彈簧的質(zhì)量和經(jīng)濟(jì)效益,,展開(kāi)長(zhǎng)過(guò)長(zhǎng)的話(huà),一是影響彈簧壓并高度和撓度余量,,同時(shí)也會(huì)造成制造成本的增加,。在工藝設(shè)計(jì)中也是追求采用最短的料長(zhǎng)滿(mǎn)足彈簧性能的要求。但是如果設(shè)計(jì)過(guò)短,,會(huì)影響彈簧剛度,,對(duì)于動(dòng)態(tài)疲勞壽命要求較高的彈簧,由于展開(kāi)長(zhǎng)設(shè)計(jì)過(guò)短,,為滿(mǎn)足彈簧剛度要求,,勢(shì)必會(huì)減少支撐圈數(shù),造成彈簧“線(xiàn)接觸”過(guò)短,,影響彈簧使用壽命,。因此準(zhǔn)確設(shè)計(jì)彈簧碾尖參數(shù)和彈簧鋼棒下料長(zhǎng)度,從而獲得精準(zhǔn)的彈簧坯料展開(kāi)長(zhǎng)度是非常重要的,。
目前,,碾尖彈簧下料長(zhǎng)的給定有兩種方法:經(jīng)驗(yàn)公式法和體積等效轉(zhuǎn)換計(jì)算法。經(jīng)驗(yàn)公式法就是按照經(jīng)驗(yàn)公式L=兀D(n1-k),;其中D:中徑,,n1:總?cè)Γ琄:經(jīng)驗(yàn)系數(shù),,根據(jù)不同料徑,,選取不同的K值。該方法需要選取適宜的經(jīng)驗(yàn)系數(shù),,并通過(guò)工藝驗(yàn)證來(lái)達(dá)到工藝設(shè)計(jì)的準(zhǔn)確,。所以,很難適應(yīng)于性能要求和空間要求較為嚴(yán)格彈簧的工藝設(shè)計(jì),,且工藝設(shè)計(jì)成本較高,。
體積等效轉(zhuǎn)換計(jì)算法就是利用碾尖前后體積相等的原理,計(jì)算出彈簧碾尖的抻長(zhǎng)量,該方法雖然計(jì)算較為準(zhǔn)確,,計(jì)算方法得當(dāng)?shù)那疤嵯?,無(wú)需進(jìn)行工藝設(shè)計(jì)驗(yàn)證。但該方法計(jì)算過(guò)程較為繁復(fù),,對(duì)設(shè)計(jì)人員計(jì)算能力要求較高,,計(jì)算費(fèi)時(shí),不利于工藝優(yōu)化工作的開(kāi)展,。
本文介紹一種精確計(jì)算下料長(zhǎng)的方法,,并利用VB對(duì)PRO/E進(jìn)行二次開(kāi)發(fā),建立下料長(zhǎng)計(jì)算平臺(tái),,此平臺(tái)準(zhǔn)確度高,,料徑Φ25~Φ50彈簧下料長(zhǎng)計(jì)算值與實(shí)際測(cè)量值的誤差10mm之內(nèi)(主要是碾尖加工出現(xiàn)的誤差所致),此平臺(tái)操作簡(jiǎn)單,,即使沒(méi)有經(jīng)驗(yàn)的技術(shù)人員也能夠準(zhǔn)確計(jì)算下料長(zhǎng),。該法應(yīng)用可以對(duì)現(xiàn)行下料工藝參數(shù)和彈簧成形工藝參數(shù)進(jìn)行快速優(yōu)化計(jì)算,從而達(dá)到節(jié)約材料成本和提高工藝設(shè)計(jì)準(zhǔn)確性的目的,。
1 開(kāi)發(fā)流程
Pro/Engineer(以下簡(jiǎn)稱(chēng)Pro/E)是美國(guó)PTC公司的產(chǎn)品,,從5.0版本其改名為Creo Parametric 2.0,本平臺(tái)是應(yīng)用VISUAL STUDIO 2010對(duì)Pro/E進(jìn)行二次開(kāi)發(fā),對(duì)Pro/E wildfire 3.0之前的版本進(jìn)行二次開(kāi)發(fā)的語(yǔ)言主要是C/C++,,入門(mén)門(mén)檻較高,,在Pro/E4.0 wildfire以后的版本中自帶了VB_API接口,可以直接使用visual basic2010和Pro/E 進(jìn)行連接,,Creo Parramettrriic的通訊模式主要有兩種,,一種為同步模式,“DLL 模式”(DLL mode) - Creo Parametric 可執(zhí)行文件在運(yùn)行時(shí)加載動(dòng)態(tài)鏈接庫(kù)(DLL),。DLL 和Creo Parametric 之間的通訊會(huì)以盡可能快的速度進(jìn)行,,因此DLL 模式是應(yīng)用程序開(kāi)發(fā)******的模式。另一種可用模式是異步模式應(yīng)用程序,,在異步模式應(yīng)用程序中,,外部應(yīng)用程序會(huì)根據(jù)需要啟動(dòng)或連接Creo Parametric 外部會(huì)話(huà)。
考慮到本程序主要面向工藝人員,,對(duì)CAD的功能相對(duì)不熟悉,,故采用異步模式,采用VB.Net封裝ProE/Creo,,前臺(tái)采用友好的界面,,輸入相關(guān)參數(shù),,軟件自動(dòng)進(jìn)行相關(guān)計(jì)算,,并顯示相關(guān)結(jié)果,可以保存成為記事本TXT文件或者EXCEL文件,,軟件會(huì)自動(dòng)追加當(dāng)前數(shù)據(jù)到以后的目錄,。軟件友好性非常詳細(xì)直觀,。
碾尖彈簧下料長(zhǎng)計(jì)算平臺(tái)建立過(guò)程就是利用VB10.0對(duì)Pro/E進(jìn)行二次開(kāi)發(fā)的過(guò)程,利用VB10.0建立的用戶(hù)界面控制Pro/E模型,,并自動(dòng)提取多個(gè)模型參數(shù),,進(jìn)行數(shù)學(xué)運(yùn)算,實(shí)現(xiàn)碾尖彈簧下料長(zhǎng)的自動(dòng)計(jì)算,,其建立的流程如圖1所示,。

圖1 計(jì)算平臺(tái)建立流程
1.1 安裝Pro/E和VB.Net2010
獲得Pro/E和VB.Net2010和安裝文件,運(yùn)行setup.exe,,開(kāi)始安裝,,按照屏幕上的提示一步步安裝直至安裝結(jié)束。
一個(gè)VB.NET程序可以通過(guò)CcpfcAsyncConnection.Start()方法去產(chǎn)生并連接到一個(gè)Pro/ENGINEER進(jìn)程,。一旦方法返回異步連接對(duì)象,,C#程序可以使用相應(yīng)的API去調(diào)用Pro/ENGINEER進(jìn)程。在交互模式,,當(dāng)它運(yùn)行時(shí),,你還可以在你的計(jì)算機(jī)上訪問(wèn)Pro/ENGINEER會(huì)話(huà)。
當(dāng)Pro/ENGINEER終止時(shí),,這個(gè)程序不會(huì)終止,。當(dāng)程序只是臨時(shí)需要進(jìn)行Pro/ENGINEER操作的時(shí)候很有用,因此在會(huì)話(huà)中,,必須啟動(dòng)和停止Pro/ENGINEER一次以上,。
在任何時(shí)候,只有一個(gè)Pro/ENGINEER會(huì)話(huà)可以被啟動(dòng)或連接,。如果C#程序產(chǎn)生出第二個(gè)會(huì)話(huà),,對(duì)第一個(gè)會(huì)話(huà)的連接將丟失。
想實(shí)現(xiàn)終止任何程序連接的Pro/ENGINEER進(jìn)程,,調(diào)用IpfcAsyncConnection.End()方法,。
1.2 設(shè)置環(huán)境變量
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
打開(kāi)VB10.0,添加一個(gè)windows 窗體應(yīng)用程序,,添加引用cero vb api的引用,。

圖2 在VB中添加引用
1.4 建立用戶(hù)界面
在VB.NET 2010中添加所需要的label控件、TextBox控件,、Button控件,、MenuStrip控件等,并修改其屬性,,建立如圖3所示的用戶(hù)界面,。
1.5 添加代碼
添加的代碼主要實(shí)現(xiàn)以下功能:連接Pro/E、打開(kāi)模型、激活窗口,、更改參數(shù),、再生模型、提取參數(shù),、公式計(jì)算,、斷開(kāi)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", ".")
其中參數(shù)-g:no_graphics -i:rpc_input表示后臺(tái)靜默打開(kāi)Pro/E,,前臺(tái)不顯示Pro/E界面,。
Pro/ENGINEER 進(jìn)程的狀態(tài)方法介紹:
IpfcAsyncConnection.IsRunning()
想判斷一個(gè)Pro/ENGINEER進(jìn)程是否運(yùn)行,使用方法pfcAsyncConnectionAsyncConnection.IsRunning,。
得到會(huì)話(huà)對(duì)象方法介紹:
IpfcAsyncConnection.Session
IpfcAsyncConnection.Session方法返回表示Pro/ENGINEER會(huì)話(huà)的會(huì)話(huà)對(duì)象,。使用這個(gè)對(duì)象去訪問(wèn)Pro/ENGINEER會(huì)話(huà)的內(nèi)容。
更改工作目錄方法介紹:
session.ChangeDirectory(workDir)
1.6 測(cè)試程序
在用戶(hù)界面中輸入尖長(zhǎng),、尖厚,、料徑、總?cè)?shù)和中徑參數(shù),,點(diǎn)擊“下料長(zhǎng)度計(jì)算”按鈕,,平臺(tái)自動(dòng)計(jì)算,計(jì)算結(jié)束后,,自動(dòng)輸出展開(kāi)長(zhǎng)、單邊抻長(zhǎng)量和下料長(zhǎng)的數(shù)值,,如圖3所示,。

圖3 計(jì)算平臺(tái)界面展示

圖4 計(jì)算輸出輸出設(shè)置
下料軟件的相關(guān)設(shè)置保存在server.ini中,可以根據(jù)需求選擇Pro/E的版本,。
結(jié)果文件保存到文本和Excel中,,輸出默認(rèn)以追加的形式,方便用戶(hù)記錄統(tǒng)計(jì),,同時(shí),,可以根據(jù)需求更改每次保存文件名,,見(jiàn)圖4,。其中文本追加代碼見(jiàn)下。
If fPath = Nothing Then
MsgBox("請(qǐng)?jiān)O(shè)置文件輸出路徑)
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 應(yīng)用
此平臺(tái)的界面簡(jiǎn)單,,操作方便,,只需要輸入料徑,、總?cè)?shù)、彈簧中徑,、尖長(zhǎng)和尖厚五個(gè)參數(shù),,平臺(tái)自動(dòng)計(jì)算出彈簧的展開(kāi)長(zhǎng),,碾尖的抻長(zhǎng)量和彈簧的下料長(zhǎng),。通過(guò)對(duì)多種彈簧的計(jì)算值和實(shí)際值對(duì)比,計(jì)算精度非常高,,料徑Φ25~Φ50彈簧,,下料長(zhǎng)計(jì)算誤差10mm之內(nèi),料徑Φ55以上彈簧,,下料長(zhǎng)計(jì)
算誤差20mm之內(nèi),,詳見(jiàn)表1。該平臺(tái)的應(yīng)用可以對(duì)現(xiàn)行下料工藝參數(shù)和彈簧成形工藝參數(shù)進(jìn)行快速優(yōu)化計(jì)算,,從而達(dá)到節(jié)約材料成本和提高工藝設(shè)計(jì)準(zhǔn)確性的目的,。
表1 計(jì)算平臺(tái)驗(yàn)證對(duì)照表
序號(hào)
|
料徑
|
尖長(zhǎng)
|
尖厚
|
抻長(zhǎng)量計(jì)算值
|
實(shí)際統(tǒng)計(jì)值
|
實(shí)際誤差
|
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 小結(jié)
目前,碾尖彈簧下料長(zhǎng)的給定有兩種方法:經(jīng)驗(yàn)公式法和體積等效轉(zhuǎn)換計(jì)算法,。經(jīng)驗(yàn)公式法的精度取決于工藝技術(shù)人員的經(jīng)驗(yàn),,而體積等效轉(zhuǎn)換計(jì)算法計(jì)算精度雖然較高,但是計(jì)算過(guò)程較為繁復(fù),。
本文建立的下料長(zhǎng)計(jì)算平臺(tái),,采用異步模式,采用VB.Net封裝ProE/Creo,,前臺(tái)采用友好的界面,,輸入相關(guān)參數(shù),軟件自動(dòng)進(jìn)行相關(guān)計(jì)算,,并顯示相關(guān)結(jié)果,,可以保存成為記事本TXT文件或者EXCEL文件,軟件會(huì)自動(dòng)追加當(dāng)前數(shù)據(jù)到以后的目錄,。該平臺(tái)能夠準(zhǔn)確的計(jì)算碾尖彈簧的下料長(zhǎng)度,,料徑Φ25~Φ50彈簧,下料長(zhǎng)計(jì)算誤差10mm之內(nèi),,料徑Φ55以上彈簧,,下料長(zhǎng)計(jì)算誤差20mm之內(nèi)(主要是碾尖加工出現(xiàn)的誤差所致),此平臺(tái)界面友好,,即使沒(méi)有經(jīng)驗(yàn)的技術(shù)人員也能夠準(zhǔn)確計(jì)算下料長(zhǎng),。該法應(yīng)用可以極大提高工藝設(shè)計(jì)的精準(zhǔn)水平和設(shè)計(jì)效率,同時(shí)也便于對(duì)現(xiàn)行碾尖工藝參數(shù)和彈簧成形工藝參數(shù)進(jìn)行快速優(yōu)化計(jì)算,,從而達(dá)到節(jié)約材料成本和提高工藝設(shè)計(jì)準(zhǔn)確性的目的,。