基於SolidWorks 的四刃球頭銑刀參數化設計

分類  >  刀具>銑刀 >
tags: SolidWorks    時間:2014-03-11 16:13:45
基於SolidWorks 的四刃球頭銑刀參數化設計簡介
     摘 要:提出了基於SolidWorks 軟體的參數化建模方法,實現通過API 對象進行系列化定型產品的參數化三維設計過程,介紹了採用Delphi 編程……
基於SolidWorks 的四刃球頭銑刀參數化設計正文
    

摘 要:提出了基於SolidWorks 軟體的參數化建模方法,實現通過API 對象進行系列化定型產品的參數化三維設計過程,介紹了採用Delphi 編程環境下進行二次開發的基本流程以及關鍵性技術。重點解決了球頭銑刀二次開發中數據自動讀取以及建模中的難點,提高了設計效率,為後續的有限元分析提供了基礎。

1 引言
在模具多維曲面的加工中, 已普遍應用數控仿形銑削工藝,硬質合金可轉位球頭立銑刀已成為模具仿形加工中必不可少的刀具。同時,隨著CAD/CAM/ CAE 的發展,對產品進行有限元分析已經成為設計環節必不可少的階段。在這個階段中,能否精確繪製出產品的三維模型會直接影響到有限元分析結果的正確性。由於球頭銑刀的角度和尺寸較多,使得建模過程比較複雜,如果對於不同刃徑、不同參數的球頭銑刀,都需重新建立一次模型,就會使建模過程十分繁瑣,造成設計效率低下、生產周期延長。因此,刀具的參數化設計過程成為了急需研究的重點 。
由於球頭銑刀的結構、形狀都有一定的標準,是一種系列化的產品。同類型的球頭銑刀具有相同或相似的結構特徵,只是其中尺寸、角度等參數有所不同。為了使球頭銑刀的設計過程更加方便、快捷,本文利用Delphi 軟體對SolidWorks 進行二次開發,通過對一個標準球頭銑刀三維模版中相應參數的修改,來自動建立球頭銑刀的三維模型。

2 二次開發工具分析
(1) SolidWorks 是一套基於Windows 的CAD/CAE/ CAM/ PDM桌面集成系統,它全面採用非全約束的特徵建模技術,可以在設計過程中的任何環節修改設計,同時牽動相關部分的改變。為了方便用戶進行二次開發, SolidWorks 提供了幾百個API 函數,這些函數就是SolidWorks 的OLE 或者COM 介面,通過這些介面,就可以使用VB/ VBA/ VC/ Delphi等高級語言進行二次開發, 建立需要的、專用的SolidWorks 功能模塊。
(2) Borland 公司出品的Delphi7 增強了資料庫和網路處理功能,並且實現了跨平台程序處理和資料庫操作,提供了開發Windows 或者Linux 資料庫最迅速最簡潔的方法。Delphi7 封裝了大量的類,採用了事件處理機制,對控制項進行很好的封裝,隱藏了事件處理的具體細節,方便用戶進行開發。由於二次開發一般都需要有後台資料庫進行支撐,而且資料庫開發在整個二次開發過程中所佔的比重非常大,所以利用Delphi 強大的資料庫功能來進行產品的二次開發,較VC、VB 等軟體有著很大的優勢。

3 SolidWorks 二次開發方法分析
對SolidWorks 進行二次開發,一般採用以下兩種方法:
(1) 模擬實際建模過程———通過SolidWorks 軟體提供的API 函數,通過選擇基準面,建立草圖,進行特徵操作等一系列同實際建模過程相同的步驟,得到所需要的實體模型。使用這種方法,每個步驟完成之後都需要詳細計算所需要的點、線、面的坐標用於下一步的選擇。這種方法適用於結構形狀不一致,但建模使用的特徵較少的三維模型(如主軸、組合夾具等) 的建模過程。但是建立過程比較複雜,容易出錯,且對於一些複雜型面的模型(如旋轉類刀具等) ,採用這種方法是很難實現的。
(2) 修改標準模版———通過SolidWorks 建立一個標準的三維模型實例,對互相聯繫的設計參數進行關聯,建立三維模型圖形庫。通過API 函數,對其中的驅動尺寸進行修改,得到所需要的實體模型。

4 球頭銑刀標準模版的建立流程( 仿形面切除法)
通過以下的建模過程可以建立出三維實體模型,並以二維圖中的尺寸作為建模時的驅動尺寸 ,對建模過程中的其它尺寸進行關聯,得到參數化設計的模版。建模過程如下:

圖1  四刃球頭銑刀二維工程圖

5 Oracle 資料庫的建立以及讀取
球頭銑刀參數分為兩部分:外形參數以及設計參數。外形參數指的是通過銑刀標準、刃徑就能確定的一些基本尺寸(如:總長、刃長、柄長等) 。在O2racle 資料庫中用單獨的球頭銑刀外形表進行存儲,如圖2 所示。

圖2 球頭銑刀刃部特徵

設計參數指的是通過刃徑、被加工材料返回的參數(如:螺旋角,端刃、周刃的前後角等) 。在Ora2cle 資料庫中用單獨球頭銑刀標準庫進行存儲。
返回外形參數:
procedure TF- main. CB- sirenqiutou - waixing- renjingExit(Sender :TObject) ;
begin
chaxun. SQL. Clear ;/ / chaxun 為ADOquary 控制項
chaxun. SQL.Add(』select* from 銑刀外形表where 名稱= 』』』+ key1 + 』』』and 刃數= 4 and 標準= 』』』+ CB- sirenqiutou - waixing- biaozhun. Text + 』』』and 刃徑= 』』』+ CB- sirenqiutou - waixing- renjing. Text + 』』』』) ;
chaxun.Open ;
if chaxun. RecordCount < > 0 then begin / / 如果存在相應外形數據
E- sirenqiutou - waixing- zongchang. Text : = chaxun. FieldValues[』總長』] ;
E- sirenqiutou - waixing- renchang. Text : = chaxun. FieldValues[』刃長』] ;
『『『『『『『『『
End ;
同樣方法可以從球頭銑刀標準中返回設計參數。

6 通過API 函數建模
關鍵代碼:
procedure TF- main. B- sirenqiutou - 3DClick ( Sender : TObject) ;/ / 點擊生成三維模型按鈕
var
swapp :isldworks ; / / 申明變數swapp 為sldworks 對象
part :imodeldoc2 ; / / 申明part 為modeldoc2 對象
nerrors ,nwarnings :longint ;/ / 聲明錯誤類型
longstatus :longint ;
begin
swapp : = GetorCreateObject (』sldworks. application』) ;/ / 獲取
SolidWorks 對象
Swapp.Visible : = true ;/ / 置為可見
part : = swapp.OpenDoc6 (』D: \ ZGCC - CAPP \ 工程模版\ 銑刀\ 四刃球頭銑刀\ 整體形式\ 球頭銑刀. SLDASM』,2 , 0 , 』』, nerrors , nwarnings) ;/ / 打開模版文件
part.Visible : = true ;/ / 將模版文件置為可見
swapp. ActivateDoc2 (』球頭銑刀. SLDASM』, true , longstatus) ;/ / 將球頭銑刀模版置為活動窗口
part. SelectByID( 』草圖1 @刃部- 1 @球頭銑刀. SLDPRT』,』SKETCH』,0 ,0 ,0) ; / / 選擇刃徑草圖
part. EditSketch() ;/ / 編輯刃徑草圖
part. SelectByID( 』D1 @草圖1 @刃部- 1 @球頭銑刀.SLDPRT』,』DIMENSION』, 0 , 0 , 0) ;/ / 選擇刃徑草圖尺寸1
part. IParameter ( 』D1 @草圖1 @刃部. SLDPRT』) . SetSystemValue2 (strtofloat (CB - sirenqiutou - waixing- renjing. Te
xt) / 1000 ,0) ;/ / 將界面上的刃徑值傳遞給SolidWorks 中
相應尺寸
⋯⋯
part. ClearSelection ;/ / 取消所有選擇
part. EditRebuild3 ;/ / 重建模型
End ;
同樣可以將界面上其餘參數傳遞到SolidWorks繪圖環境中對現有模版進行修改。最後通過API 函數中的重建命令: EditRebuild3 對修改後的模型進行重建,就得到了需要的三維實體模型。

7 結語
本軟體系統以Delphi 為基本開發語言,以Solid2Works 為基本設計平台。運行時只需通過人機界面進行簡單的交互,即可實現絲錐的3D 建模。該系統把人從複雜的刀具設計以及繁重的繪圖工作中解放出來,極大地提高了設計效率,縮短了新產品的開發周期,對於外形相似、規格不同的球頭銑刀建模,通過簡單的操作就能解決問題,在實際工作中具有廣泛的應用前景。


Bookmark the permalink ,來源:
One thought on “基於SolidWorks 的四刃球頭銑刀參數化設計