當(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ù)的方法,用戶(hù)只需輸入有關(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)化了用戶(hù)輸入。
1 設(shè)計(jì)思想和開(kāi)發(fā)原則
本軟件的研制開(kāi)發(fā)方法采用完全面向?qū)ο蟮脑O(shè)計(jì)思想和開(kāi)發(fā)方法,軟件開(kāi)發(fā)過(guò)程中,要設(shè)計(jì)許多用戶(hù)界面,在設(shè)計(jì)中就要遵循一些原則,一個(gè)友好的用戶(hù)界面應(yīng)滿(mǎn)足以下幾個(gè)方面的要求:
(1)減少記憶量
本系統(tǒng)用戶(hù)界面設(shè)計(jì)中主要采用以下方法:采用提示選擇,而不是輸入命令串,這種方法為不了解系統(tǒng)的終端用戶(hù)帶來(lái)了極大的方便,(在此處,筆者考慮采用了下拉式組合框(ComboBox),用戶(hù)可直接選擇"偏差代號(hào)"、"公差等級(jí)");另外本設(shè)計(jì)中,有多個(gè)消息框,提示用戶(hù)出錯(cuò)的地方,并準(zhǔn)確糾正輸入。
(2)靈活的提示信息
應(yīng)用軟件運(yùn)行時(shí),應(yīng)能給出簡(jiǎn)單易懂的提示信息,使用戶(hù)的工作能順利地進(jìn)行。在用戶(hù)對(duì)提示信息做出回答后,若回答有效,則引導(dǎo)用戶(hù)進(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)可以記錄用戶(hù)送入的操作命令,以便執(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 為用戶(hù)提供了強(qiáng)大的 API 應(yīng)用編程接口。其中包含的功能函數(shù),可被 VB,或 SolidWorks的宏文件調(diào)用,這些函數(shù)提供程序員直接訪(fǎng)問(wèn)SolidWorks 功能的能力。用戶(hù)可在 VB 中創(chuàng)建動(dòng)態(tài)鏈接庫(kù)工程,加入相關(guān)代碼,編譯生成*.dll 文件,然后再加載此文件,用戶(hù)自己開(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ā),添加菜單及用戶(hù)界面,擴(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ó)用戶(hù)進(jìn)行開(kāi)發(fā)的難度。
"公差標(biāo)注...@附加項(xiàng)(&A)","粗糙度...@附加項(xiàng)(&A)",這兩句就是表示所添加菜單的名稱(chēng);"DocDRAWING_dimension" 和"DocDRAWING_symbol",兩函數(shù)表示所添加菜單所實(shí)現(xiàn)的功能。這些函數(shù)可在后面定義,來(lái)補(bǔ)充功能。下面就是其中的一個(gè)函數(shù):
Public Sub DocDRAWING_dimension() 調(diào)用公差查詢(xún)及標(biāo)注窗體
frmseek.Show調(diào)用公差查詢(xún)窗體
End Sub
所實(shí)現(xiàn)的功能將在下一節(jié)里面重點(diǎn)介紹。
最后,將所編寫(xiě)的程序生成*.dll 文件,在SolidWorks 下打開(kāi)此文件,該軟件就會(huì)在"插件"對(duì)話(huà)框中出現(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)一的界面。
相關(guān)文章
- 2021-08-01Visual Basic與AutoCAD二次開(kāi)發(fā)PDF下載
- 2021-07-31Autodesk MDT 2007 用戶(hù)手冊(cè)PDF下載
- 2021-01-10AutoCAD 2010工程繪圖與二次開(kāi)發(fā) [蔣先剛 編] 2012年P(guān)
- 2021-01-09AutoCAD 2010工程繪圖及SolidWorks2010、UGNX7.0造型
- 2021-01-01AutoCAD 2007中文版自學(xué)手冊(cè)—入門(mén)提高篇 光盤(pán)文件下
- 2021-01-01AutoCAD 2007中文版機(jī)械設(shè)計(jì)實(shí)例教程下載
- 2021-01-01AutoCAD 2007機(jī)械繪圖完全新手學(xué)習(xí)手冊(cè)下載
- 2021-01-01AutoCAD 2007寶典[光盤(pán)實(shí)例]下載
- 2020-12-28AutoCAD2007簡(jiǎn)體中文版32位帶破解文件免費(fèi)下載
- 2020-12-27AutoCAD 2007機(jī)械制圖入門(mén)與實(shí)例教程 2011年版PDF下載