SolidWorks的尺寸公差標(biāo)注系統(tǒng)設(shè)計(jì)

2013-05-23  by:廣州有限元分析、培訓(xùn)中心-1CAE.COM  來源:仿真在線

作者: 隋文濤 張丹 張宇 來源: 萬方數(shù)據(jù)
關(guān)鍵字: 尺寸公差 數(shù)據(jù)庫

利用數(shù)據(jù)庫技米開發(fā)了尺寸公差動(dòng)態(tài)查詢模塊。通過二次開發(fā),將查詢模塊作為插件集成在SolidWorks環(huán)境下,實(shí)現(xiàn)了SolidWorks中動(dòng)態(tài)查詢尺寸公差和標(biāo)注。

 1引言
   
Solidworks是一套基于windows平臺(tái)的全參數(shù)化特征造型軟件,它可以十分方便地實(shí)現(xiàn)復(fù)雜的三維零件實(shí)體造型、復(fù)雜裝配和生成工程圖。圖形界面友好,用戶易學(xué)易用。同時(shí)該軟件集成了設(shè)計(jì)、分析、加工和數(shù)據(jù)管理的整個(gè)過程。具有較好的開發(fā)性接口和功能擴(kuò)展性,是優(yōu)秀的中檔三維CAD軟件。
   
盡管Solidworks具有很多的優(yōu)點(diǎn),但在某些方面仍存在不足。例如,在公差標(biāo)注方面,SoIidworks有標(biāo)注功能,但系統(tǒng)本身不帶有公差數(shù)據(jù)庫,這就需要工程技術(shù)人員翻閱手冊查找準(zhǔn)確的上、下偏差值,給設(shè)計(jì)帶來不便。鑒于此,筆者以Solidworks為平臺(tái),利用其提供的二次開發(fā)編程接口,采用面向?qū)ο蠹夹g(shù),開發(fā)了尺寸公差自動(dòng)標(biāo)注系統(tǒng),提高了設(shè)計(jì)人員的工作效率。
    
    2設(shè)計(jì)思想
   
公差標(biāo)注系統(tǒng)的開發(fā)涉及多種軟件技術(shù),包括vb開發(fā)數(shù)據(jù)庫技術(shù)、二次開發(fā)solidworks技術(shù)以及創(chuàng)建ActiveX DLL技術(shù)。因此,系統(tǒng)采用自頂向下的模塊化設(shè)計(jì)方法,整個(gè)設(shè)計(jì)過程如圖1所示。
   

SolidWorks的尺寸公差標(biāo)注系統(tǒng)設(shè)計(jì)solidworks simulation學(xué)習(xí)資料圖片1


首先建立尺寸公差數(shù)據(jù)庫,數(shù)據(jù)庫中存儲(chǔ)標(biāo)準(zhǔn)公差、孔的極限偏差和軸的極限偏差等數(shù)值表。建立數(shù)據(jù)庫后,采用ADO數(shù)據(jù)訪問技術(shù),實(shí)現(xiàn)動(dòng)態(tài)查詢尺寸公差。然后創(chuàng)建ActiveX DLL,目的是將動(dòng)態(tài)查詢和尺寸標(biāo)注功能封裝為一個(gè)插件,供SolidWorks調(diào)用。將生成的.DLL文件通過注冊等方式加載到SolidWorks環(huán)境供用戶使用。最后測試嵌人后的播件,看是否存在問題。
   
    3關(guān)鍵技術(shù)

   
開發(fā)系統(tǒng)需要多種軟件技術(shù),其中有以下3個(gè)關(guān)鍵的技術(shù)問題。
   
數(shù)據(jù)庫設(shè)計(jì)是底層基礎(chǔ)。數(shù)據(jù)庫的設(shè)計(jì)質(zhì)量決定能否快速和準(zhǔn)確地實(shí)現(xiàn)上下偏差查詢。數(shù)據(jù)庫設(shè)計(jì)又分兩個(gè)步驟,一個(gè)是數(shù)據(jù)庫的邏輯設(shè)計(jì),即數(shù)據(jù)表和字段的設(shè)計(jì)。一個(gè)是在數(shù)據(jù)表的基礎(chǔ)上進(jìn)行程序設(shè)計(jì)。本文采用VB進(jìn)行應(yīng)用程序設(shè)計(jì),這是因?yàn)閂B是一種面向?qū)ο蟮目梢暬O(shè)計(jì)工具,支持多種數(shù)據(jù)庫系統(tǒng)的訪問,并且支持動(dòng)態(tài)數(shù)據(jù)交換(DDE)、動(dòng)態(tài)鏈接庫(DLL)和對象的鏈接與嵌人(OLE)技術(shù)。
   
二次開發(fā)SolidWorks是一個(gè)難點(diǎn)。因?yàn)槎伍_發(fā)需要用到大量接口函數(shù),而這些接口函數(shù)采用英文書寫,需要仔細(xì)閱讀SolidWorks API幫助文件。開發(fā)過程中,有一個(gè)訣竅。在用SolidWorks標(biāo)注時(shí),打開宏"錄制",將整個(gè)標(biāo)注過程錄制下來,對宏進(jìn)行編輯。將具體數(shù)據(jù)修改為程序中的變量。然后通過程序?qū)ψ兞窟M(jìn)行賦值,這樣運(yùn)行程序時(shí),即可通過輸人具體數(shù)值,實(shí)現(xiàn)相應(yīng)的標(biāo)注操作。
   
創(chuàng)建ActiveXDLL是實(shí)現(xiàn)集成的手段。為將動(dòng)態(tài)查詢和尺寸標(biāo)注功能封裝為一個(gè)插件,以菜單的形式集成到SolidWorks界面.需要?jiǎng)?chuàng)建動(dòng)態(tài)連接庫(DLL) 。

3.1數(shù)據(jù)庫設(shè)計(jì)
   
本系統(tǒng)采用Access數(shù)據(jù)庫建庫,存儲(chǔ)的主要數(shù)據(jù)有孔的極限偏差和軸的極限偏差數(shù)值表。輔助數(shù)據(jù)有標(biāo)準(zhǔn)公差、基本偏差、孔軸公差帶信息。
   
軸的極限偏差數(shù)據(jù)來源于國家標(biāo)準(zhǔn)GB/T1800.4-1999。確定一個(gè)尺寸的上下偏差需要基本尺寸、偏差代號、公差等級3個(gè)必要條件,因此國家標(biāo)準(zhǔn)中軸的極限偏差表是三維的。根據(jù)數(shù)據(jù)庫規(guī)范化的理論,數(shù)據(jù)庫無法建立三維表。如果要實(shí)現(xiàn)三維形式存儲(chǔ),需要建立多個(gè)表,各表之間要依據(jù)條件關(guān)系用主鍵建立聯(lián)系,編程時(shí)用復(fù)雜的SQL語句聯(lián)合查詢,這樣會(huì)降低數(shù)據(jù)庫訪問的速度,浪費(fèi)存儲(chǔ)空間,而且維護(hù)性差。為解決以上間題,筆者重新設(shè)計(jì)數(shù)據(jù)表的字段,將國家標(biāo)準(zhǔn)中的三維表離散為符合數(shù)據(jù)庫格式的二維表。
表中的第一行為數(shù)據(jù)表的字段名,這些字段是國標(biāo)中的基本尺寸。第1列為偏差代號,從第2列開始,分別是相應(yīng)的上下偏差信息。上下偏差值用"\"間隔開,"\"前面為上偏差的符號信息和數(shù)值信息,"\"后面是下偏差的符號信息和數(shù)值信息。
   

SolidWorks的尺寸公差標(biāo)注系統(tǒng)設(shè)計(jì)solidworks simulation分析圖片2
程序采用ADO數(shù)據(jù)訪問接口技術(shù)與標(biāo)準(zhǔn)件尺寸參數(shù)庫進(jìn)行連接。ADO (Active Data Object)是一種高性能的數(shù)據(jù)訪問接口,它的對象模型是所有數(shù)據(jù)訪問接口對象模型中最簡單的一種。通過應(yīng)用程序可實(shí)現(xiàn)軸上下偏差查詢、孔上下偏差查詢、基孔制配合公差查詢、基軸制配合公差查詢。在底層數(shù)據(jù)庫的基礎(chǔ)上,利用VB開發(fā)的尺寸公差動(dòng)態(tài)查詢模塊,為公差標(biāo)注奠定了基礎(chǔ)。
   
    限于篇幅,以實(shí)現(xiàn)上下偏差查詢功能為例,代碼如下:
   

SolidWorks的尺寸公差標(biāo)注系統(tǒng)設(shè)計(jì)solidworks simulation分析圖片3

SolidWorks的尺寸公差標(biāo)注系統(tǒng)設(shè)計(jì)solidworks simulation分析圖片4


3.2二次開發(fā)SolidWorks
   
為將尺寸公差動(dòng)態(tài)查詢模塊作為插件嵌人到SolidWorks環(huán)境中使用,需要運(yù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界面上添加菜單用到的兩個(gè)關(guān)鍵函數(shù)為例,說明API的使用。
   
SwAddin.ConnectToSW函數(shù)是用戶編寫的程序連接SolidWorks的人口函數(shù),可實(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)一的界面。
   

SolidWorks的尺寸公差標(biāo)注系統(tǒng)設(shè)計(jì)solidworks simulation分析圖片5


    3.3創(chuàng)建ActiveX DLL

   
創(chuàng)建ActiveXDLL的目的是將動(dòng)態(tài)查詢和尺寸標(biāo)注功能封裝為一個(gè)插件,而插件又以菜單的形式顯示在SolidWork,界面上。
   
簡要說明一下創(chuàng)建動(dòng)態(tài)鏈接庫(DLL)文件的步驟。首先,啟動(dòng)VB建立"ActiveX DLL"文件,在VB"引用"中加入SolidWorks的對象庫。然后,在類模塊中加人變盆聲明和SwAddin.ConnectToSW等關(guān)鍵函數(shù)。這需要運(yùn)用上述二次開發(fā)的知識。最后,必須選擇【文件】/【生成DLL】菜單。
   
上面產(chǎn)生的DLL文件還不能轉(zhuǎn)換為SolidWorks插件,必須做相應(yīng)的處理才能生效。有兩種方法:在Solidworks環(huán)境中打開和寫注冊表。前者需要在SolidWorks環(huán)境下以Add-Ins(*.DLL)文件類型打開用戶編寫的動(dòng)態(tài)鏈接庫文件。后一種方法為在Windows系統(tǒng)的【運(yùn)行】萊單中,輸人:Regavr32 *.dll。"*"。
   
    4應(yīng)用實(shí)例
   
在工程圖中為某尺寸添加公差標(biāo)注時(shí),首先選定該尺寸,然后按選擇【公差標(biāo)注】和【尺寸公差標(biāo)注】萊單,出現(xiàn)如圖3所示的動(dòng)態(tài)查詢尺寸公差的窗體。輸人基本尺寸值、偏差代號及公差等級,單擊【確定】按鈕,界面會(huì)顯示上下偏差及公差尺寸。單擊【標(biāo)注】,選中的尺寸上就被標(biāo)注了上下偏差。
   

SolidWorks的尺寸公差標(biāo)注系統(tǒng)設(shè)計(jì)solidworks simulation分析圖片6


    5結(jié)論
   
基于SolidWorks環(huán)境的尺寸公差標(biāo)注系統(tǒng),實(shí)現(xiàn)了尺寸公差的動(dòng)態(tài)查詢和標(biāo)注,提高了設(shè)計(jì)效率。文中提出的設(shè)計(jì)思想為在SolidWorks環(huán)境下進(jìn)行形位公差、粗糙度動(dòng)態(tài)查詢和標(biāo)注等二次開發(fā)提供了一個(gè)思路,也可供在其它三維CAD系統(tǒng)環(huán)境下編寫尺寸標(biāo)注程序時(shí)作為參考。
   
本文作者創(chuàng)新點(diǎn):提出了公差標(biāo)注系統(tǒng)的設(shè)計(jì)方案,詳細(xì)介紹了軟件設(shè)計(jì)中的3個(gè)關(guān)鍵技術(shù)問題,彌補(bǔ)了CAD軟件在公差標(biāo)注方面的不足。


開放分享:優(yōu)質(zhì)有限元技術(shù)文章,助你自學(xué)成才

相關(guān)標(biāo)簽搜索:SolidWorks的尺寸公差標(biāo)注系統(tǒng)設(shè)計(jì) SolidWorks培訓(xùn)課程 SolidWorks設(shè)計(jì)教程 SolidWorks視頻教程 SolidWorks軟件下載 SolidWorks在建筑室內(nèi)設(shè)計(jì)工業(yè)設(shè)計(jì)的應(yīng)用 SolidWorks基礎(chǔ)知識 SolidWorks代做 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn) Abaqus培訓(xùn) Autoform培訓(xùn) 

編輯
在線報(bào)名:
  • 客服在線請直接聯(lián)系我們的客服,您也可以通過下面的方式進(jìn)行在線報(bào)名,我們會(huì)及時(shí)給您回復(fù)電話,謝謝!
驗(yàn)證碼

全國服務(wù)熱線

1358-032-9919

廣州公司:
廣州市環(huán)市中路306號金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓(xùn)QQ咨詢:點(diǎn)擊咨詢 點(diǎn)擊咨詢
項(xiàng)目QQ咨詢:點(diǎn)擊咨詢
email:kf@1cae.com