SolidWorks的尺寸公差標(biāo)注系統(tǒng)設(shè)計
2013-05-23 by:廣州有限元分析、培訓(xùn)中心-1CAE.COM 來源:仿真在線
作者: 隋文濤 張丹 張宇 來源: 萬方數(shù)據(jù)
關(guān)鍵字: 尺寸公差 數(shù)據(jù)庫
利用數(shù)據(jù)庫技米開發(fā)了尺寸公差動態(tài)查詢模塊。通過二次開發(fā),將查詢模塊作為插件集成在SolidWorks環(huán)境下,實現(xiàn)了SolidWorks中動態(tài)查詢尺寸公差和標(biāo)注。
1引言
Solidworks是一套基于windows平臺的全參數(shù)化特征造型軟件,它可以十分方便地實現(xiàn)復(fù)雜的三維零件實體造型、復(fù)雜裝配和生成工程圖。圖形界面友好,用戶易學(xué)易用。同時該軟件集成了設(shè)計、分析、加工和數(shù)據(jù)管理的整個過程。具有較好的開發(fā)性接口和功能擴展性,是優(yōu)秀的中檔三維CAD軟件。
盡管Solidworks具有很多的優(yōu)點,但在某些方面仍存在不足。例如,在公差標(biāo)注方面,SoIidworks有標(biāo)注功能,但系統(tǒng)本身不帶有公差數(shù)據(jù)庫,這就需要工程技術(shù)人員翻閱手冊查找準(zhǔn)確的上、下偏差值,給設(shè)計帶來不便。鑒于此,筆者以Solidworks為平臺,利用其提供的二次開發(fā)編程接口,采用面向?qū)ο蠹夹g(shù),開發(fā)了尺寸公差自動標(biāo)注系統(tǒng),提高了設(shè)計人員的工作效率。
2設(shè)計思想
公差標(biāo)注系統(tǒng)的開發(fā)涉及多種軟件技術(shù),包括vb開發(fā)數(shù)據(jù)庫技術(shù)、二次開發(fā)solidworks技術(shù)以及創(chuàng)建ActiveX DLL技術(shù)。因此,系統(tǒng)采用自頂向下的模塊化設(shè)計方法,整個設(shè)計過程如圖1所示。
首先建立尺寸公差數(shù)據(jù)庫,數(shù)據(jù)庫中存儲標(biāo)準(zhǔn)公差、孔的極限偏差和軸的極限偏差等數(shù)值表。建立數(shù)據(jù)庫后,采用ADO數(shù)據(jù)訪問技術(shù),實現(xiàn)動態(tài)查詢尺寸公差。然后創(chuàng)建ActiveX DLL,目的是將動態(tài)查詢和尺寸標(biāo)注功能封裝為一個插件,供SolidWorks調(diào)用。將生成的.DLL文件通過注冊等方式加載到SolidWorks環(huán)境供用戶使用。最后測試嵌人后的播件,看是否存在問題。
3關(guān)鍵技術(shù)
開發(fā)系統(tǒng)需要多種軟件技術(shù),其中有以下3個關(guān)鍵的技術(shù)問題。
數(shù)據(jù)庫設(shè)計是底層基礎(chǔ)。數(shù)據(jù)庫的設(shè)計質(zhì)量決定能否快速和準(zhǔn)確地實現(xiàn)上下偏差查詢。數(shù)據(jù)庫設(shè)計又分兩個步驟,一個是數(shù)據(jù)庫的邏輯設(shè)計,即數(shù)據(jù)表和字段的設(shè)計。一個是在數(shù)據(jù)表的基礎(chǔ)上進行程序設(shè)計。本文采用VB進行應(yīng)用程序設(shè)計,這是因為VB是一種面向?qū)ο蟮目梢暬O(shè)計工具,支持多種數(shù)據(jù)庫系統(tǒng)的訪問,并且支持動態(tài)數(shù)據(jù)交換(DDE)、動態(tài)鏈接庫(DLL)和對象的鏈接與嵌人(OLE)技術(shù)。
二次開發(fā)SolidWorks是一個難點。因為二次開發(fā)需要用到大量接口函數(shù),而這些接口函數(shù)采用英文書寫,需要仔細閱讀SolidWorks API幫助文件。開發(fā)過程中,有一個訣竅。在用SolidWorks標(biāo)注時,打開宏"錄制",將整個標(biāo)注過程錄制下來,對宏進行編輯。將具體數(shù)據(jù)修改為程序中的變量。然后通過程序?qū)ψ兞窟M行賦值,這樣運行程序時,即可通過輸人具體數(shù)值,實現(xiàn)相應(yīng)的標(biāo)注操作。
創(chuàng)建ActiveXDLL是實現(xiàn)集成的手段。為將動態(tài)查詢和尺寸標(biāo)注功能封裝為一個插件,以菜單的形式集成到SolidWorks界面.需要創(chuàng)建動態(tài)連接庫(DLL) 。
3.1數(shù)據(jù)庫設(shè)計
本系統(tǒng)采用Access數(shù)據(jù)庫建庫,存儲的主要數(shù)據(jù)有孔的極限偏差和軸的極限偏差數(shù)值表。輔助數(shù)據(jù)有標(biāo)準(zhǔn)公差、基本偏差、孔軸公差帶信息。
軸的極限偏差數(shù)據(jù)來源于國家標(biāo)準(zhǔn)GB/T1800.4-1999。確定一個尺寸的上下偏差需要基本尺寸、偏差代號、公差等級3個必要條件,因此國家標(biāo)準(zhǔn)中軸的極限偏差表是三維的。根據(jù)數(shù)據(jù)庫規(guī)范化的理論,數(shù)據(jù)庫無法建立三維表。如果要實現(xiàn)三維形式存儲,需要建立多個表,各表之間要依據(jù)條件關(guān)系用主鍵建立聯(lián)系,編程時用復(fù)雜的SQL語句聯(lián)合查詢,這樣會降低數(shù)據(jù)庫訪問的速度,浪費存儲空間,而且維護性差。為解決以上間題,筆者重新設(shè)計數(shù)據(jù)表的字段,將國家標(biāo)準(zhǔn)中的三維表離散為符合數(shù)據(jù)庫格式的二維表。
表中的第一行為數(shù)據(jù)表的字段名,這些字段是國標(biāo)中的基本尺寸。第1列為偏差代號,從第2列開始,分別是相應(yīng)的上下偏差信息。上下偏差值用"\"間隔開,"\"前面為上偏差的符號信息和數(shù)值信息,"\"后面是下偏差的符號信息和數(shù)值信息。
程序采用ADO數(shù)據(jù)訪問接口技術(shù)與標(biāo)準(zhǔn)件尺寸參數(shù)庫進行連接。ADO (Active Data Object)是一種高性能的數(shù)據(jù)訪問接口,它的對象模型是所有數(shù)據(jù)訪問接口對象模型中最簡單的一種。通過應(yīng)用程序可實現(xiàn)軸上下偏差查詢、孔上下偏差查詢、基孔制配合公差查詢、基軸制配合公差查詢。在底層數(shù)據(jù)庫的基礎(chǔ)上,利用VB開發(fā)的尺寸公差動態(tài)查詢模塊,為公差標(biāo)注奠定了基礎(chǔ)。
限于篇幅,以實現(xiàn)上下偏差查詢功能為例,代碼如下:
3.2二次開發(fā)SolidWorks
為將尺寸公差動態(tài)查詢模塊作為插件嵌人到SolidWorks環(huán)境中使用,需要運用SolidWorks二次開發(fā)技術(shù)。SolidWorks提供的應(yīng)用編程接口API (Application Programming Interface)是基于OLE(object linking and embedding)的編程接口,它包含了大量的功能函數(shù),可以被VB\VC等任何支持OLE技術(shù)的編程語言調(diào)用,提供直接訪問SolidWorks功能的能力。
以在SolidWorks界面上添加菜單用到的兩個關(guān)鍵函數(shù)為例,說明API的使用。
SwAddin.ConnectToSW函數(shù)是用戶編寫的程序連接SolidWorks的人口函數(shù),可實現(xiàn)尺寸查詢程序集成在SolidWorks環(huán)境下。說明如下:
在SwAddin.ConnectToSW函數(shù)中加人以下代碼,為SolidWorks界面添加菜單。Ret=iSIdWorks.AddMenuItem2(awDocDRAWING, iCookie,&_
"尺寸公差標(biāo)注@公差標(biāo)注",-1, "Size-dimension","",""}
通過AddMenuItem2函數(shù),為SolidWorks添加了"尺寸公差查詢"菜單。當(dāng)用戶單擊該菜單后,將調(diào)用"Size- dimension"功能即尺寸公差標(biāo)注功能。這樣應(yīng)用程序與SolidWork。形成統(tǒng)一的界面。
3.3創(chuàng)建ActiveX DLL
創(chuàng)建ActiveXDLL的目的是將動態(tài)查詢和尺寸標(biāo)注功能封裝為一個插件,而插件又以菜單的形式顯示在SolidWork,界面上。
簡要說明一下創(chuàng)建動態(tài)鏈接庫(DLL)文件的步驟。首先,啟動VB建立"ActiveX DLL"文件,在VB"引用"中加入SolidWorks的對象庫。然后,在類模塊中加人變盆聲明和SwAddin.ConnectToSW等關(guān)鍵函數(shù)。這需要運用上述二次開發(fā)的知識。最后,必須選擇【文件】/【生成DLL】菜單。
上面產(chǎn)生的DLL文件還不能轉(zhuǎn)換為SolidWorks插件,必須做相應(yīng)的處理才能生效。有兩種方法:在Solidworks環(huán)境中打開和寫注冊表。前者需要在SolidWorks環(huán)境下以Add-Ins(*.DLL)文件類型打開用戶編寫的動態(tài)鏈接庫文件。后一種方法為在Windows系統(tǒng)的【運行】萊單中,輸人:Regavr32 *.dll。"*"。
4應(yīng)用實例
在工程圖中為某尺寸添加公差標(biāo)注時,首先選定該尺寸,然后按選擇【公差標(biāo)注】和【尺寸公差標(biāo)注】萊單,出現(xiàn)如圖3所示的動態(tài)查詢尺寸公差的窗體。輸人基本尺寸值、偏差代號及公差等級,單擊【確定】按鈕,界面會顯示上下偏差及公差尺寸。單擊【標(biāo)注】,選中的尺寸上就被標(biāo)注了上下偏差。
5結(jié)論
基于SolidWorks環(huán)境的尺寸公差標(biāo)注系統(tǒng),實現(xiàn)了尺寸公差的動態(tài)查詢和標(biāo)注,提高了設(shè)計效率。文中提出的設(shè)計思想為在SolidWorks環(huán)境下進行形位公差、粗糙度動態(tài)查詢和標(biāo)注等二次開發(fā)提供了一個思路,也可供在其它三維CAD系統(tǒng)環(huán)境下編寫尺寸標(biāo)注程序時作為參考。
本文作者創(chuàng)新點:提出了公差標(biāo)注系統(tǒng)的設(shè)計方案,詳細介紹了軟件設(shè)計中的3個關(guān)鍵技術(shù)問題,彌補了CAD軟件在公差標(biāo)注方面的不足。
相關(guān)標(biāo)簽搜索:SolidWorks的尺寸公差標(biāo)注系統(tǒng)設(shè)計 SolidWorks培訓(xùn)課程 SolidWorks設(shè)計教程 SolidWorks視頻教程 SolidWorks軟件下載 SolidWorks在建筑室內(nèi)設(shè)計工業(yè)設(shè)計的應(yīng)用 SolidWorks基礎(chǔ)知識 SolidWorks代做 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn) Abaqus培訓(xùn) Autoform培訓(xùn)