日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

基于VB語(yǔ)言對(duì)SolidWorks參數(shù)化設(shè)計(jì)的二次開(kāi)發(fā)

 阿默思 2019-05-25

0 引言

    隨著數(shù)字信息化進(jìn)程的快速推進(jìn),如今三維CAD技術(shù)在越來(lái)越多的企業(yè)當(dāng)中得到運(yùn)用。為了降低在設(shè)計(jì)生產(chǎn)中的成本,縮短設(shè)計(jì)周期,增強(qiáng)企業(yè)競(jìng)爭(zhēng)力,三維參數(shù)化技術(shù)隨之應(yīng)聲,它憑借更貼近現(xiàn)代概念的設(shè)計(jì)以及并行設(shè)計(jì)的思想得到了越來(lái)越多工程設(shè)計(jì)人員的青睞,設(shè)計(jì)人員可以在早期的開(kāi)發(fā)階段運(yùn)用三維參數(shù)化技術(shù)快速模擬零件的三維草圖,再通過(guò)數(shù)值輸入對(duì)其形狀及大小進(jìn)行約束,繪制精確的零件圖,并將零件放入零件庫(kù)中,方便以后的使用及修改工作。從而大大減少了重復(fù)性繪圖的時(shí)間,提高了工作效率。

    本文以三維CAD軟件SolidWorks為平臺(tái)對(duì)參數(shù)化二次開(kāi)發(fā)的方法以及關(guān)鍵技術(shù)進(jìn)行了討論,通過(guò)例舉實(shí)例來(lái)詳細(xì)介紹其二次開(kāi)發(fā)的整個(gè)過(guò)程。

1 SolidWorks二次開(kāi)發(fā)基本原理

    1.1 SolidWorks二次開(kāi)發(fā)的兩種形式

    任何支持OLE(Object Linking and Embedding,對(duì)象連接與嵌入)和COM(Component Object Model,組建對(duì)象模型)接口的編程語(yǔ)言都可以作為SolidWorks的開(kāi)發(fā)工具。SolidWorks二次開(kāi)發(fā)分為兩種:一種是基于自動(dòng)化技術(shù)的,可以開(kāi)發(fā)EXE形式的應(yīng)用程序。另一種開(kāi)發(fā)形式是基于COM的,這種技術(shù)可以使用最多的SolidWorks API(應(yīng)用程序編程接口)。API可控制SolidWorks會(huì)話的方式,生成*.dll格式的文件,也就是SolidWorks的插件。

    1.2 SolidWorks二次開(kāi)發(fā)的對(duì)象

    從圖1中可以看到SolidWorks對(duì)象包括ModeIDoc、Environment、Frame、AttributeDef Modeler、SWPropertySheet以及一些其他對(duì)象。SldWorks是SolidWorks API中的最高對(duì)象,它能夠直接或間接地訪問(wèn)SolidWorks API中的所有其他對(duì)象。利用SldWorks可以實(shí)現(xiàn)程序的最基本的操作,如創(chuàng)建、打開(kāi)、關(guān)閉、結(jié)束文件、重排圖標(biāo)和窗口、設(shè)置當(dāng)前的激活文件、生成屬性定義,也可以對(duì)SolidWorks的系統(tǒng)環(huán)境進(jìn)行設(shè)置。SldWorks中所包含的對(duì)象分為若干層,每一層又包括若干個(gè)對(duì)象,每一個(gè)對(duì)象都有自己的屬性、方法和事件。這些OLE對(duì)象涵蓋了SolidWorks的全部數(shù)據(jù)模型,通過(guò)對(duì)SolidWorks的OLE對(duì)象屬性的設(shè)置和對(duì)OLE對(duì)象方法的調(diào)用,就可以在用戶自己開(kāi)發(fā)的系統(tǒng)中實(shí)現(xiàn)與SolidWorks相同的功能。

SolidWorks API對(duì)象梗概圖

圖1 SolidWorks API對(duì)象梗概圖

    1.3 SolidWorks二次開(kāi)發(fā)的工具

    SolidWorks的二次開(kāi)發(fā)工具較多,用戶可以根據(jù)自身的條件及工具的特點(diǎn),選擇一種合適的開(kāi)發(fā)工具。SolidWorks主要的二次開(kāi)發(fā)工具有:Delphi、Visual C++6.0、Visual Basic 6.0、VBA等。相比較而言,Visual Basic編程語(yǔ)言具有不可替代的簡(jiǎn)單易用性和真正的“所見(jiàn)即所得”特性為廣大工程設(shè)計(jì)人員所接受。

2 SolidWorks二次開(kāi)發(fā)的方法及流程

    2.1 SolidWorks二次開(kāi)發(fā)的方法

    本文主要介紹基于VB語(yǔ)言的SolidWorks二次開(kāi)發(fā),以VB語(yǔ)言對(duì)其進(jìn)行二次開(kāi)發(fā)又可以通過(guò)兩種形式,一種是語(yǔ)言的完全編程開(kāi)發(fā),另一種是設(shè)計(jì)變量和編程語(yǔ)言相結(jié)合的開(kāi)發(fā)形式。前者需要設(shè)計(jì)人員通過(guò)API接口,對(duì)要表述的所有對(duì)象進(jìn)行程序編寫(xiě),這樣可以實(shí)現(xiàn)三維圖形的程序驅(qū)動(dòng),并且能精確構(gòu)造復(fù)雜尺寸的三維造型。但是這種開(kāi)發(fā)形式要求設(shè)計(jì)者精通編程語(yǔ)言,同時(shí),由于所有對(duì)象都需要人工表述定義,所以存在設(shè)計(jì)周期較長(zhǎng),工作量較重,開(kāi)發(fā)效率不高的問(wèn)題。后者主要是以SolidWorks中提供的宏的錄制功能作為工具。在編寫(xiě)程序時(shí),把通過(guò)宏操作獲得的代碼用做工程基礎(chǔ),然后對(duì)其進(jìn)行適當(dāng)?shù)木庉嬓薷?,再添加到?yīng)用程序的代碼中。這樣,通過(guò)宏操作和交互式的執(zhí)行任務(wù),不僅可以提高編程效率,而且更便于工程設(shè)計(jì)人員所使用。憑借后者在開(kāi)發(fā)過(guò)程中所體現(xiàn)出的明顯優(yōu)點(diǎn),這種開(kāi)發(fā)方式也成為了SolidWorks二次開(kāi)發(fā)的主旋律,以下針對(duì)該種方法來(lái)詳細(xì)說(shuō)明SolidWorks二次開(kāi)發(fā)的整個(gè)過(guò)程。

2.2 SolidWorks二次開(kāi)發(fā)的流程

    應(yīng)用程序的開(kāi)發(fā)流程如圖2所示,其中主要包括建造三維模型圖并確定各尺寸關(guān)系,Access數(shù)據(jù)庫(kù)連接,用戶界面設(shè)計(jì),編寫(xiě)程序代碼,編寫(xiě)窗體事件和調(diào)試程序等內(nèi)容。

SolidWorks二次開(kāi)發(fā)的流程圖

圖2 SolidWorks二次開(kāi)發(fā)的流程圖

3 SolidWorks二次開(kāi)發(fā)的關(guān)鍵技術(shù)

    下面以經(jīng)典齒輪為例來(lái)詳細(xì)說(shuō)明SolidWorks二次開(kāi)發(fā)的整個(gè)過(guò)程。在這里要強(qiáng)調(diào)的是,在對(duì)齒輪的標(biāo)準(zhǔn)建模時(shí),盡量用最少的步驟,盡少的參數(shù)尺寸來(lái)清晰定義齒輪特征。如圖3所示,為圓柱齒輪的設(shè)計(jì)草圖。

圓柱齒輪草圖

圖3 圓柱齒輪草圖

    1)確定齒輪的設(shè)計(jì)關(guān)系

    齒頂高h(yuǎn)a=ha*m=m;

    齒根高h(yuǎn)f=(ha*+c*)m=1.25m;

    全齒高h(yuǎn)=ha+hf=(2ha*+c*)m=2.25m;

    分度圓直徑d=mz;

    基圓直徑db=dcosa;

    齒頂圓直徑da=d+2ha=m(z+2ha*);

    齒根圓直徑df=d-2hf=m(z-2ha*-2c*);

    由以上齒輪的標(biāo)準(zhǔn)公式得出,確定齒輪規(guī)格的參數(shù)主要有五個(gè),它們分別為模數(shù)m、齒數(shù)z、壓力角a、齒頂高系數(shù)ha*、頂隙系數(shù)c*。

    2)在設(shè)計(jì)關(guān)系明確后,確定程序中需要定義的齒輪的變量參數(shù)“文件名”、“材質(zhì)”、“型號(hào)”、模數(shù)“m”、齒數(shù)“z”、壓力角“a”、齒頂高系數(shù)“ha*”、頂隙系數(shù)“c*”、齒寬“b”。

    3)運(yùn)用SolidWorks軟件繪制齒輪的三維模型,整個(gè)繪圖過(guò)程用宏功能進(jìn)行錄制。

    4)在Visual Basic 6.0中建立一個(gè)用戶友好界面。如圖4所示,在界面中加入圖片顯示窗口,讓用戶能夠直觀認(rèn)識(shí)零件造型及參數(shù)變量,同時(shí)加入用戶輸入窗口,讓使用者可以通過(guò)對(duì)照名稱標(biāo)注,人工定義數(shù)值來(lái)進(jìn)行條件約束。添加命令按鈕來(lái)實(shí)現(xiàn)繪圖及退出程序的功能。

圓柱齒輪的參數(shù)化界面

圖4 圓柱齒輪的參數(shù)化界面

    5)數(shù)據(jù)定義的錯(cuò)誤提示

    在自定義環(huán)境下對(duì)齒輪進(jìn)行數(shù)值定義的過(guò)程中,齒數(shù)不能小于17,圓孔直徑不能過(guò)大。

    為了讓使用者直觀找到問(wèn)題,加入msgbox提示,如圖5所示。

錯(cuò)誤提示

圖5 錯(cuò)誤提示

 6)優(yōu)化程序并為參數(shù)變量賦值

    程序中關(guān)鍵代碼如下:

    以下代碼為建立VB6.0與SolidWorks之間的聯(lián)系。

代碼

    7)Access數(shù)據(jù)庫(kù)連接

    此外還可以根據(jù)需要,創(chuàng)建適合于具體用戶的本地變量參數(shù)組,設(shè)計(jì)人員將各變量所對(duì)應(yīng)數(shù)值在Access數(shù)據(jù)庫(kù)中進(jìn)行記錄并與齒輪參數(shù)化程序連接,這樣使用者只需在界面中選擇特定型號(hào)即可得到所需齒輪。如圖6所示。

Access數(shù)據(jù)庫(kù)中建立的參數(shù)關(guān)系

圖6 Access數(shù)據(jù)庫(kù)中建立的參數(shù)關(guān)系

    8)將程序添加為SolidWorks插件

    首先創(chuàng)建一個(gè)文件夾,用來(lái)存放宏文件。如“D:\Sol.dworks2012\宏文件”;

    然后建立文件名為“圓柱齒輪.swp”的宏文件,內(nèi)容如下:

代碼

    最后從工具中調(diào)用新建宏按鈕命令。如圖7中加紅框部分所示 。

建立【圓柱齒輪】按鈕

圖7 建立【圓柱齒輪】按鈕

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

    設(shè)計(jì)人員通過(guò)對(duì)SolidWorks的二次開(kāi)發(fā),可以根據(jù)本地的具體問(wèn)題,設(shè)計(jì)開(kāi)發(fā)出適用于工作需要的應(yīng)用程序,建立起適合用戶需要、專用的SolidWorks功能模塊,運(yùn)用這項(xiàng)技術(shù)可以簡(jiǎn)化設(shè)計(jì)工作,縮短產(chǎn)品開(kāi)發(fā)周期,提高產(chǎn)品開(kāi)發(fā)效率,而且應(yīng)用范圍廣泛,為眾多領(lǐng)域的研發(fā)設(shè)計(jì)工作指明了方向。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多