凸輪三維圖形庫系統(tǒng)的構建研究
2013-05-16 by:廣州有限元分析、培訓中心-1CAE.COM 來源:仿真在線
作者: 陳樺*韓艷艷 來源: 萬方數(shù)據(jù)
關鍵字: Delphi SolidWorks 凸輪圖形庫 自動化服務器
提出了基于Delphi對SolidWorks二次開發(fā)的凸輪圖形庫,論述了該系統(tǒng)的總體結構、關鍵技術和實現(xiàn)方法,為以后進一步將凸輪圖形庫升級和網(wǎng)絡環(huán)境下的遠程凸輪圖形庫奠定了基礎。
CAD等技術的推廣應用明顯地提高了設計能力和圖紙質(zhì)量。過去手工設計時,全部圖紙資料均由資料室統(tǒng)一管理,自從采用CAD技術以后,大部分資料都儲存在計算機內(nèi)。另外,一個系列的新產(chǎn)品必然承襲老產(chǎn)品中約80%的成果,因此,在設計新產(chǎn)品時,往往要經(jīng)常查閱老產(chǎn)品的設計圖紙。而大量的設計信息以計算機文件形式存在,這些圖紙或文本文件有可能存放在某一設計部門的計算機目錄下。用戶要查詢有關的資料,如果缺乏查找文件的輔助工具,往往要花費大量的精力,浪費寶貴的時間,因而文件的查詢成為十分頭痛的事情。凸輪圖形庫的建立采用計算機查詢,不僅可以查到當前資料,還可以查到過去或者類似項目的相應資料,從而減少設計時間,提高設計效率。
1系統(tǒng)結構
1. 1開發(fā)工具
SolidWorks的二次開發(fā)工具很多,如Delphi,C語言、C++語言、Visual C++. Visual Basic. VBA等。開發(fā)者可以根據(jù)自身的條件、工具特點等選擇合適的開發(fā)工具。在建立凸輪三維圖形庫的工作中,作者選用SolidWorks 2006作為開發(fā)平臺,并選用Delphi 7.0作為二次開發(fā)工具。SolidWorks是Windows環(huán)境一下的三維設計軟件,其特點是易學、易用,功能強大,并且完全漢化,使用過程中不存在語言障礙;SolidWorks支持的數(shù)據(jù)標準有:IGES,DXF, DWG, STEP, VRML等,通過數(shù)據(jù)轉(zhuǎn)換接口,SolidWorks可以方便地形成其它CAD, CAE軟件所要求的數(shù)據(jù)格式;此外,SolidWorks通過COM技術和OLE自動化技術為用戶提供完整的應用編程接口(API)。 Delphi是目前Window:平臺下的優(yōu)秀開發(fā)工具,擁有強大的數(shù)據(jù)庫編程能力,利用Delphi對SolidWorks進行二次開發(fā),可以將數(shù)據(jù)庫技術與SolidWorks的強大設計能力相結合,創(chuàng)建出用戶所需要的SolidWorks功能模塊。
1. 2系統(tǒng)總體結構
系統(tǒng)從功能上分為:數(shù)據(jù)查詢模塊、三維實體造型模塊、幫助模塊等主要模塊。結構上主要包括:系統(tǒng)主控模塊、Delphi對SolidWorks的二次開發(fā)程序、SolidWorks軟件平臺等三大部分。系統(tǒng)的總體結構如圖1所示。
數(shù)據(jù)查詢模塊主要由數(shù)據(jù)表格和二維圖形組成。用戶可以根據(jù)產(chǎn)品名稱、設計單位、設計時間等進行相關的查詢。
三維實體造型模塊主要是根據(jù)用戶對凸輪結構尺寸的需要,調(diào)用Delphi對SolidWorks的二次開發(fā)程序,啟動SolidWorks軟件平臺,生成對應凸輪結構尺寸的三維實體造型,用戶也可以在SolidWorks環(huán)境下對所需凸輪的圖形進行編輯。幫助模塊主要說明系統(tǒng)的基本操作和使用方法。
2實現(xiàn)過程
2. 1創(chuàng)建SolidWorks服務器
SolidWorks作為自動化服務器,其提供自動化服務的類型庫文件叫做sldworks.tlb。在Delphi編程環(huán)境下,首先選擇"Project"的"Import Type Library"菜單項,在彈出的"Import Type Library",對話框中檢查是否在注冊表中注冊了相應的類型庫"S1dWorks 2006 Type Library"。如果沒有,點擊"Add"按鈕,選擇SolidWorks安裝目錄下的sldworks.tlb文件進行注冊。然后點擊類型庫名"S1dWorks 2006 Type Library",在Class names編輯框中將顯示類型庫所提供的所有類對象名字;為避免與Delphi本身的TComponent產(chǎn)生類名沖突,可以將編輯框中的TComponent改名為TSIdComponent。然后點選"Install"或"Create Unit"按鈕,Delphi將在Import子目錄下生成該類型庫的Object Pascal文件sldworks TLB.Pas} SolidWorks提供的所有API函數(shù)都包括在這個文件中。接下來就可以利用此sldworks TLB.Pas文件創(chuàng)建SolidWorks對象了。
2. 2凸輪圖形數(shù)據(jù)庫的建立
凸輪圖形數(shù)據(jù)庫的建立是本系統(tǒng)的基礎,本系統(tǒng)中一切可視化信息以及繪圖所用到的數(shù)據(jù)均來自于凸輪圖形數(shù)據(jù)庫。凸輪圖形數(shù)據(jù)庫實質(zhì)包括兩個部分:一是己經(jīng)收編入庫的圖形,二是用Delphi現(xiàn)開發(fā)SolidWorks繪圖。
2. 3收編入庫的凸輪圖形的構建步驟
1)構建步驟分析凸輪結構,建立數(shù)據(jù)表格,進行凸輪圖形設計時,首先要根據(jù)工作環(huán)境、輸入輸出運動轉(zhuǎn)換方式、安裝空間和布置方式、機器運轉(zhuǎn)速度等選擇合適的凸輪機構型式。本系統(tǒng)提供了滾子直動從動件盤形凸輪、平底直動從動件盤形凸輪、滾子擺動從動件盤形凸輪、平底擺動從動件盤形凸輪等型式?;境叽鐓?shù)主要包括凸輪的基圓半徑、從動件的偏心距和滾子半徑等。運動規(guī)律的選擇主要根據(jù)從動件的工作性能由用戶確定,本系統(tǒng)提供了等速運動、等加速等減速運動、余弦加速度運動、正弦加速度運動等。
每個凸輪都有其相應的數(shù)據(jù)表格,將凸輪的型式、基本尺寸參數(shù)、運動規(guī)律以及起始角和結束角等參數(shù)記錄在凸輪數(shù)據(jù)表格中。在對這些數(shù)據(jù)表格進行分析之后,提取各個表格公有的非數(shù)據(jù)信息,單獨創(chuàng)建一個數(shù)據(jù)庫表作為索引表;同時為每個數(shù)據(jù)表格中的數(shù)據(jù)信息建立一個數(shù)據(jù)庫表;搜索遍歷索引表中的索引字段,就可以實現(xiàn)對凸輪圖形數(shù)據(jù)庫中所有數(shù)據(jù)表格的訪問。
2)建立實體模型,收編入庫在對凸輪進行三維造型之前要生成凸輪的二維輪廓線。其方法為:根據(jù)凸輪計算程序中求得的凸輪輪廓線坐標數(shù)據(jù)x (i),Y (i),采用SolidWorks提供的樣條曲線連接各點來生成光滑的凸輪輪廓曲線,再進行拉伸操作即可得到三維模型。
在建立凸輪三維實體模型時(見圖2),應使所建立的特征盡可能簡單,使參數(shù)尺寸盡可能少,利用SolidWorks建立特征功能,并利用宏錄制其過程,建立一宏文件(即內(nèi)部編程)。然后用變量代替宏文件中的關鍵數(shù)據(jù),如凸輪的基圓半徑、從動件的偏心距和滾子半徑等,而這些變量的數(shù)據(jù)來源即為凸輪圖形數(shù)據(jù)庫下的某種凸輪類型數(shù)據(jù)表。建模完成后,把凸輪建模過程所錄制的宏代碼放入?yún)?shù)輸入對話框中"確定"按鈕的Click事件中。每當按下。"確定"按鈕后,首先獲得SolidWorks Application對象和PartDoc對象,激活當前的文檔對象,然后打開凸輪圖。
2. 4用Delphi現(xiàn)開發(fā)SolidWorks繪圖
用Delphi開發(fā)SolidWorks繪圖功能模塊是本系統(tǒng)設計的關鍵所在。首先要創(chuàng)建SIdWorks對象,然后通過創(chuàng)建好的S1dWorks對象創(chuàng)建PartDoc ,ModelDoc2等子對象,并用這些子對象完成凸輪的構建、編輯、修改等。
下面的代碼片段演示了本系統(tǒng)中如何創(chuàng)建S1dWorks對象及其子對象。
然后根據(jù)子對象的調(diào)用創(chuàng)建一個凸輪三維圖形。
3結語
本文論述了用Delphi對SolidWorks進行二次開發(fā)的方法,重點介紹了凸輪圖形庫開發(fā)技術和實現(xiàn)方案。通過建立凸輪圖形庫,為設計人員減輕了勞動強度,縮短了設計時間,提高了設計效率。進一步發(fā)展的話,將凸輪圖形庫升級為網(wǎng)絡環(huán)境下的遠程凸輪圖形庫,使得設計人員可以方便的通過網(wǎng)絡獲得凸輪圖形,從而更好的實現(xiàn)機械產(chǎn)品的遠程設計與資源共享。
相關標簽搜索:凸輪三維圖形庫系統(tǒng)的構建研究 SolidWorks培訓課程 SolidWorks設計教程 SolidWorks視頻教程 SolidWorks軟件下載 SolidWorks在建筑室內(nèi)設計工業(yè)設計的應用 SolidWorks基礎知識 SolidWorks代做 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓 Abaqus培訓 Autoform培訓