SolidWorks公差與符號(hào)標(biāo)注

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

當(dāng)前計(jì)算機(jī)輔助設(shè)計(jì)在機(jī)械制造領(lǐng)域得到越來(lái)越廣泛的應(yīng)用。SolidWorks 是基于 PARASOLID幾何造型核心,采用 VC++編程和面向?qū)ο蟮臄?shù)據(jù)庫(kù)來(lái)開(kāi)發(fā)的。SolidWorks 具有基于特征的參數(shù)化實(shí)體造型、NURBS 復(fù)雜曲面造型、實(shí)體與曲面融合、基于約束的裝配造型等一系列先進(jìn)的三維設(shè)計(jì)功能及工具。盡管 SolidWorks 具有很多的優(yōu)點(diǎn),但是 SolidWorks 在公差標(biāo)注和粗糙度符號(hào)標(biāo)注方面仍存在較多的不足之處,在公差標(biāo)注方面,SolidWorks 本身的上下偏差標(biāo)注,需要工程技術(shù)人員自己查相關(guān)手冊(cè)輸入上下偏差,因此,在使用 SolidWorks 的同時(shí),筆者考慮了用連接相關(guān)數(shù)據(jù)庫(kù)的方法,用戶只需輸入有關(guān)"偏差代號(hào)"及"公差等級(jí)"就可實(shí)現(xiàn)標(biāo)注。這樣就使標(biāo)注工作簡(jiǎn)化。同時(shí),筆者采用相似的方法實(shí)現(xiàn)了粗糙度的標(biāo)注,所設(shè)計(jì)的窗體比 SolidWorks 所帶的窗體簡(jiǎn)潔,但其實(shí)現(xiàn)的功能與之相同。且許多輸入是用選取下拉菜單內(nèi)容的方法,簡(jiǎn)化了用戶輸入。

1 設(shè)計(jì)思想和開(kāi)發(fā)原則


本軟件的研制開(kāi)發(fā)方法采用完全面向?qū)ο蟮脑O(shè)計(jì)思想和開(kāi)發(fā)方法,軟件開(kāi)發(fā)過(guò)程中,要設(shè)計(jì)許多用戶界面,在設(shè)計(jì)中就要遵循一些原則,一個(gè)友好的用戶界面應(yīng)滿足以下幾個(gè)方面的要求:

(1)減少記憶量

本系統(tǒng)用戶界面設(shè)計(jì)中主要采用以下方法:采用提示選擇,而不是輸入命令串,這種方法為不了解系統(tǒng)的終端用戶帶來(lái)了極大的方便,(在此處,筆者考慮采用了下拉式組合框(ComboBox),用戶可直接選擇"偏差代號(hào)"、"公差等級(jí)");另外本設(shè)計(jì)中,有多個(gè)消息框,提示用戶出錯(cuò)的地方,并準(zhǔn)確糾正輸入。

(2)靈活的提示信息

應(yīng)用軟件運(yùn)行時(shí),應(yīng)能給出簡(jiǎn)單易懂的提示信息,使用戶的工作能順利地進(jìn)行。在用戶對(duì)提示信息做出回答后,若回答有效,則引導(dǎo)用戶進(jìn)行下一步工作;否則,應(yīng)能指出錯(cuò)誤原因及改正方法。

(3)良好的出錯(cuò)處理

一個(gè)好的系統(tǒng)在操作錯(cuò)誤發(fā)生后可以復(fù)原到錯(cuò)誤操作前的狀態(tài),不會(huì)因此"死機(jī)"。一些更高級(jí)的系統(tǒng)具有"容錯(cuò)"能力。為便于了解已操作的命令或重復(fù)運(yùn)行已執(zhí)行的操作,系統(tǒng)可以記錄用戶送入的操作命令,以便執(zhí)行重復(fù)命令。二次開(kāi)發(fā)過(guò)程也有其開(kāi)發(fā)原則和要求:平臺(tái)穩(wěn)定性,可移植性和兼容性,可伸縮性,系統(tǒng)融合性和相對(duì)獨(dú)立性,執(zhí)行高效性,技術(shù)先進(jìn)性,還有平臺(tái)易用性。本系統(tǒng)的開(kāi)發(fā)過(guò)程就是遵循這樣的原則進(jìn)行的。

2 關(guān)鍵技術(shù)

2.1 SolidWorks 的二次開(kāi)發(fā)準(zhǔn)備

對(duì) SolidWorks 進(jìn)行的二次開(kāi)發(fā),主要是利用SolidWorks 為用戶提供了強(qiáng)大的 API 應(yīng)用編程接口。其中包含的功能函數(shù),可被 VB,或 SolidWorks的宏文件調(diào)用,這些函數(shù)提供程序員直接訪問(wèn)SolidWorks 功能的能力。用戶可在 VB 中創(chuàng)建動(dòng)態(tài)鏈接庫(kù)工程,加入相關(guān)代碼,編譯生成*.dll 文件,然后再加載此文件,用戶自己開(kāi)發(fā)的動(dòng)態(tài)鏈接庫(kù)中可實(shí)現(xiàn)與 SolidWorks 相同的功能。從而可以擴(kuò)展 SolidWorks 的功能。

首先,啟動(dòng) VB 建立"ActiveX DLL"文件,只有采用這種格式才會(huì)編譯生成*.dll 文件。其次,必須在 VB中引入 SolidWorks 的對(duì)象庫(kù)。具體做法是:必須選擇【工程】/【引用】菜單項(xiàng),在可用的引用列表框中選擇"Sldworks 2001plus Type Library"條目,按 "確定"就可以了。

下面就可以進(jìn)行二次開(kāi)發(fā),添加菜單及用戶界面,擴(kuò)展其功能。

2.2 SolidWorks 的宏操作及應(yīng)用

宏在 SolidWorks 的二次開(kāi)發(fā)中起著重要的銜接作用,在本設(shè)計(jì)中使用同樣也用到了宏。比如在本設(shè)計(jì)中,使用方法為:在用 SolidWorks 本身的標(biāo)注操作之前,就打開(kāi)宏"錄制",將整個(gè)標(biāo)注過(guò)程錄制下來(lái),錄制完成并保存后,就可對(duì)其進(jìn)行編輯;由于錄制的是具體的標(biāo)注過(guò)程,里面的數(shù)據(jù)都為具體數(shù)值,可以將其中的關(guān)鍵語(yǔ)句拷到VB 工程中,修改具體數(shù)值為變量;然后通過(guò)程序?qū)ψ兞窟M(jìn)行賦值,這樣運(yùn)行 VB 工程時(shí)就可通過(guò)輸入具體數(shù)值,進(jìn)行每次的標(biāo)注操作,實(shí)現(xiàn)所需的功能。

2.3 SolidWorks 中添加菜單的關(guān)鍵技術(shù)

在此軟件系統(tǒng)開(kāi)發(fā)中,用到了許多軟件知識(shí),這其中包括:Visual Basic、Access、VB的數(shù)據(jù)庫(kù)開(kāi)發(fā)知識(shí)、SolidWorks 的 API 應(yīng)用編程接口等技術(shù)。通過(guò)這些關(guān)鍵技術(shù),就可對(duì) SolidWorks 添加菜單。

下面結(jié)合程序,介紹其實(shí)現(xiàn)方法。程序如下:

Private Function SwAddin_ConnectToSW(ByVal ThisSW As Object, &_ByVal Cookie As Long) As Boolean
Dim Ret As Boolean
Set iSldWorks = ThisSWiCookie = Cookie
Ret = iSldWorks.SetAddinCallbackInfo(App.hInstance, Me,iCookie)
增加菜單部分
Ret = iSldWorks.AddMenuItem2(swDocDRAWING, iCookie,&_"公差標(biāo)注...@附加項(xiàng)(&A)", -1, "DocDRAWING_dimension",&_"DocDRAWING_ItemUpdate","DocDRAWING_Item hintstring")
Ret = iSldWorks.AddMenuItem2(swDocDRAWING, iCookie,&_"粗糙度...@附加項(xiàng)(&A)", -1, "DocDRAWING_symbol", &_"DocDRAWING_ItemUpdate", "DocDRAWING_Item hintstring")
SwAddin_ConnectToSW = True
End Function
……

函數(shù)中前面是定義部分變量,下面就為添加菜單的關(guān)鍵部分,語(yǔ)句中許多函數(shù)在 SolidWorks的對(duì)象庫(kù)和本軟件的公用模塊中已經(jīng)定義。在開(kāi)發(fā)過(guò)程中,可能遇到許多有關(guān) API 函數(shù)的問(wèn)題,這就需要仔細(xì)閱讀 SolidWorks 所帶的 API 幫助函數(shù),幫助文件為英文,這就提高了我國(guó)用戶進(jìn)行開(kāi)發(fā)的難度。

"公差標(biāo)注...@附加項(xiàng)(&A)","粗糙度...@附加項(xiàng)(&A)",這兩句就是表示所添加菜單的名稱;"DocDRAWING_dimension" 和"DocDRAWING_symbol",兩函數(shù)表示所添加菜單所實(shí)現(xiàn)的功能。這些函數(shù)可在后面定義,來(lái)補(bǔ)充功能。下面就是其中的一個(gè)函數(shù):

Public Sub DocDRAWING_dimension() 調(diào)用公差查詢及標(biāo)注窗體
frmseek.Show調(diào)用公差查詢窗體
End Sub

所實(shí)現(xiàn)的功能將在下一節(jié)里面重點(diǎn)介紹。

最后,將所編寫(xiě)的程序生成*.dll 文件,在SolidWorks 下打開(kāi)此文件,該軟件就會(huì)在"插件"對(duì)話框中出現(xiàn),選擇該插件就會(huì)在菜單欄上出現(xiàn)。通過(guò)添加菜單的方法,可使 VB開(kāi)發(fā)的應(yīng)用程序,直接掛在 SolidWorks 下,執(zhí)行時(shí)不需要離開(kāi)SolidWorks 平臺(tái),所開(kāi)發(fā)的軟件與 SolidWorks 形成了統(tǒng)一的界面。

2.4 在 SolidWorks 中添加的用戶界面及實(shí)例演示

所有的開(kāi)發(fā)結(jié)果只有通過(guò)友好的二次開(kāi)發(fā)界面,才能將各項(xiàng)功能清楚的展示給用戶。本系統(tǒng)本著將開(kāi)發(fā)功能融合于 SolidWorks,使風(fēng)格與SolidWorks 以及 Windows 相似,所以在軟件界面上盡量少出現(xiàn)沒(méi)有必要的內(nèi)容。

如圖 1 所示,添加的用戶界面是由 VB 創(chuàng)建的,并通過(guò)前面介紹的添加菜單方法,與SolidWorks 融為了一體。

newmaker.com

圖 2 為兩個(gè)標(biāo)注功能實(shí)現(xiàn)的流程圖,清楚的描述了標(biāo)注系統(tǒng)的開(kāi)發(fā)過(guò)程。流程圖可以引導(dǎo)整個(gè)開(kāi)發(fā)過(guò)程,便于大型程序的模塊化設(shè)計(jì),在軟件設(shè)計(jì)中是必不可少的。使用時(shí)可根據(jù)流程圖所示進(jìn)行操作。下面將結(jié)合實(shí)例進(jìn)行具體介紹。

newmaker.com

公差標(biāo)注窗體如圖 1 所示。下面介紹一下此功能的使用方法:需要給工程圖中某尺寸添加公差標(biāo)注時(shí),首先選定該尺寸,然后按所添加的【附加項(xiàng)】按鈕,選擇【公差標(biāo)注 …】就會(huì)出現(xiàn)圖 1所示的窗體,輸入剛才選擇的尺寸值,然后選擇偏差代號(hào)及公差等級(jí),點(diǎn)擊【確定】就會(huì)在窗體中輸出上下偏差及公差尺寸,下面可選擇【標(biāo)注】進(jìn)行自動(dòng)標(biāo)注,有豐富經(jīng)驗(yàn)的設(shè)計(jì)人員也可根據(jù)尺寸公差自己標(biāo)注。標(biāo)注完成后,該標(biāo)注界面會(huì)自動(dòng)隱藏。

粗糙度符號(hào)標(biāo)注窗體如圖 3 所示。使用方法為:打開(kāi)所要標(biāo)注的工程圖,選擇要標(biāo)注的位置,然后按所添加的【附加項(xiàng)】按鈕,選擇【粗糙度 …】就會(huì)出現(xiàn)圖 3 所示的窗體,輸入所要標(biāo)注的參數(shù)和符號(hào),有些項(xiàng)目也可以不輸入,根據(jù)具體情況進(jìn)行選擇。點(diǎn)擊【確定】就會(huì)在工程圖指定位置出現(xiàn)所要求的標(biāo)注符號(hào)。

newmaker.com

3 結(jié)束語(yǔ)

本文說(shuō)明了利用 VB對(duì) SolidWorks 進(jìn)行二次開(kāi)發(fā)的方法,利用此方法,可以進(jìn)行其它較為復(fù)雜的開(kāi)發(fā)工作,從而開(kāi)發(fā)出適合用戶特定需要的專業(yè)軟件。另外利用 VB、VC 等面向?qū)ο蟮恼Z(yǔ)言對(duì) SolidWorks 的二次開(kāi)發(fā),方便地實(shí)現(xiàn)與其它設(shè)計(jì)軟件的接口,用類似的方法對(duì)其它軟件進(jìn)行開(kāi)發(fā)。同時(shí),此種在應(yīng)用層對(duì)軟件進(jìn)行的開(kāi)發(fā)是當(dāng)今軟件開(kāi)發(fā)的熱點(diǎn)。

雖然本系統(tǒng)解決了一定的問(wèn)題,但有些功能并不十分完善。例如,在進(jìn)行公差標(biāo)注時(shí),必須輸入其尺寸值才能標(biāo)注;而不能在選取后自動(dòng)將尺寸值輸入到查詢系統(tǒng),這方面的內(nèi)容有待在以后的開(kāi)發(fā)中去解決。


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

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

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

全國(guó)服務(wù)熱線

1358-032-9919

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