副標(biāo)題#e# 0 引言
SolidWorks是一套基于Windows的CAD桌面集成系統(tǒng),支持參數(shù)化和特征造型技術(shù)。雖然SolidWorks所提供的功能非常強(qiáng)大,但要使其在我國(guó)企業(yè)中真正發(fā)揮作用,使常用的或重復(fù)的任務(wù)自動(dòng)化,提高效率,就必須對(duì)其進(jìn)行本地化、專業(yè)化的二次開(kāi)發(fā)工作。本文是在基于軸系結(jié)構(gòu)設(shè)計(jì)系統(tǒng)的研制上產(chǎn)生的,應(yīng)用Solidworks二次開(kāi)發(fā)來(lái)自動(dòng)生成零件,并在Solidworks環(huán)境下完成自動(dòng)裝配。
1 SolidWorks二次開(kāi)發(fā)原理
SolidWorks基于COM(Component Object Model,組件對(duì)象模型),完全支持OLE(Object Linking and Embed-ding,對(duì)象的鏈接與嵌入)標(biāo)準(zhǔn),實(shí)現(xiàn)了OLE自動(dòng)化。為方便用戶進(jìn)行二次開(kāi)發(fā),SolidWorks提供了幾百個(gè)刪(Application Programming Interface,應(yīng)用程序接口),這些API函數(shù)是SolidWorks的OLE或COM接口。SolidWorks的API接口分為兩種:一種是基于OLE Au-tomation的IDispatch技術(shù),通過(guò)IDispatch接口暴露對(duì)象的屬性和方法,以便在客戶程序中使用這些屬性并調(diào)用它所支持的方法。另一種開(kāi)發(fā)方式是基于Windows基礎(chǔ)的COM。
SolidWorks API為用戶提供了完全面向?qū)ο蟮念愺w系,是一個(gè)自上而下的多層次的樹(shù)型網(wǎng)絡(luò)結(jié)構(gòu),其部分組織結(jié)構(gòu)關(guān)系如圖l所示。它包括對(duì)象的類型、屬性和方法。SldWorks是根目錄對(duì)象類,位于應(yīng)用程序的底層,是訪問(wèn)SolidWorks API所有對(duì)象的入口。開(kāi)發(fā)者通過(guò)操縱對(duì)象的屬性和調(diào)用對(duì)象的方法建立自己的應(yīng)用程序。
2 SolidWorks二次開(kāi)發(fā)工具
任何支持COM和OLE的編程語(yǔ)言都可以成為S0lidWorks的開(kāi)發(fā)工具,如VB、VBA、C、VC++等。開(kāi)發(fā)者可以根據(jù)自身的條件、工具的特點(diǎn),選擇一種適合的開(kāi)發(fā)工具.
Visual Baic(VB)是運(yùn)行在Windows環(huán)境下的一種可視化編程語(yǔ)言,使用面向?qū)ο蟮木幊谭椒?OOP),它所具有的圖形設(shè)計(jì)工具、結(jié)構(gòu)化的事件驅(qū)動(dòng)編程模式和開(kāi)放的環(huán)境,可以使用戶即快又方便地編寫(xiě)出Windows下的應(yīng)用程序.
在SolidWorks中通過(guò)宏錄制可以記錄SolidWorks用戶的整個(gè)產(chǎn)品設(shè)計(jì)過(guò)程,把用戶的界面菜單操作所用到的SolidWorks對(duì)象、方法都一一記錄下來(lái),其語(yǔ)法完全符合Visual Basic。根據(jù)宏文件中的對(duì)象和方法在自己的應(yīng)用程序中合理調(diào)用,通過(guò)對(duì)變量的控制就可實(shí)現(xiàn)產(chǎn)品的參數(shù)化設(shè)計(jì)。在二次開(kāi)發(fā)過(guò)程中,宏錄制文件中的許多對(duì)象、方法可以直接在Visual Basic應(yīng)用程序中應(yīng)用,簡(jiǎn)化了開(kāi)發(fā)過(guò)程。
3 機(jī)械零件參數(shù)化設(shè)計(jì)實(shí)現(xiàn)
3.1 零件二次開(kāi)發(fā)的過(guò)程主要論述通過(guò)VB語(yǔ)言對(duì)SolidWorks進(jìn)行二次開(kāi)發(fā),其主要流程如下:
3.1.1 建立零件的數(shù)據(jù)庫(kù)首先分析機(jī)械零件有關(guān)數(shù)據(jù),利用VB的默認(rèn)數(shù)據(jù)庫(kù)Access為每一種零件建立數(shù)據(jù)庫(kù),如齒輪參數(shù)數(shù)據(jù)庫(kù),聯(lián)軸器參數(shù)數(shù)據(jù)庫(kù)等。在數(shù)據(jù)庫(kù)建成后,可以在應(yīng)用程序中通過(guò)數(shù)據(jù)控件與特定的數(shù)據(jù)表連接起來(lái)。利用用戶輸入的主參數(shù)作為索引,用Findfirst方法即可讀出對(duì)應(yīng)的數(shù)據(jù)。
3.1.2 分析零件的結(jié)構(gòu)特征,建立實(shí)體模型首先,針對(duì)要建立的實(shí)體,需要先分析其結(jié)構(gòu),區(qū)別特征的主次,利用SolidWorks建立零件特征,建立宏文件,有些操作宏文件無(wú)法記錄,需要調(diào)用相關(guān)API繪圖函數(shù)。實(shí)現(xiàn)關(guān)鍵數(shù)據(jù)變量化,如齒輪分度圓自徑、齒輪寬度等,而這些變量的數(shù)據(jù)來(lái)源即為齒輪數(shù)據(jù)庫(kù)下的某種齒輪類型數(shù)據(jù)表。建模完成后,使用AddComponent4方法即可將零件插入當(dāng)前裝配圖中.
3.1.3 建立應(yīng)用程序VB開(kāi)發(fā)的程序作為客戶方(client),而SolidWorks作為服務(wù)方(server),VB程序可建立與SolidWorks各級(jí)對(duì)象(object)的關(guān)聯(lián);另外,還必須在VB中通過(guò)“引用”(reference)JJll載SolidWorks類型庫(kù),使VB識(shí)別程序使用的SolidWorks對(duì)像類型、屬性和方法。
3.2 齒輪聯(lián)軸器二次開(kāi)發(fā)中的關(guān)鍵技術(shù)
以機(jī)械零件中的齒輪聯(lián)軸器為例介紹二次開(kāi)發(fā)中的關(guān)鍵技術(shù)。
3.2.1 聯(lián)軸器數(shù)據(jù)庫(kù)技術(shù)CL6型號(hào)齒式聯(lián)軸器的部分標(biāo)準(zhǔn)數(shù)據(jù)如表1所示。

建立數(shù)據(jù)庫(kù),在VB程序中引用數(shù)據(jù)庫(kù),就可以通過(guò)程序查詢聯(lián)軸器的國(guó)家機(jī)械標(biāo)準(zhǔn)信息。選擇聯(lián)軸器需要參考聯(lián)軸器的轉(zhuǎn)矩和轉(zhuǎn)速等信息,需要在程序中將聯(lián)軸器的數(shù)據(jù)信息加載到聯(lián)軸器設(shè)計(jì)的人機(jī)界面當(dāng)中,供設(shè)計(jì)人員參考。
齒輪聯(lián)軸器需要做到全參數(shù)化的有齒數(shù)、模數(shù)、壓力角、軸徑、鍵槽尺寸及相關(guān)安裝尺寸等。
實(shí)現(xiàn)模型創(chuàng)建,需通過(guò)VB環(huán)境下的數(shù)學(xué)模型計(jì)算,得出重要數(shù)據(jù)。對(duì)于齒輪聯(lián)軸器,最重要的是齒輪漸開(kāi)線的計(jì)算。在VB環(huán)境中,建立漸開(kāi)線直角坐標(biāo)方程. 聯(lián)立方程組,利用循環(huán)語(yǔ)句來(lái)實(shí)現(xiàn)漸開(kāi)線的計(jì)算。再將數(shù)據(jù)傳遞給ModelDoc2:SketchSpline方法繪制輪齒草圖, .調(diào)用FeatureManager::FeatureExtmsion2方法拉伸輪齒。
3.2.2 零件、裝配文檔的創(chuàng)建SldWorks對(duì)象是SolidWorks API中最高級(jí)的對(duì)象,它提供了SolidWorksAPI中所有對(duì)象的直接或間接接口。通過(guò)該對(duì)象可以控制SolidWorks軟件的執(zhí)行或退出。在VB中利用Create Object方法來(lái)獲得Sldworks對(duì)象,利用該對(duì)象的activedoc方法可以獲得當(dāng)前Solidworks文件對(duì)象。
SolidWorks是一套基于Windows的CAD桌面集成系統(tǒng),支持參數(shù)化和特征造型技術(shù)。雖然SolidWorks所提供的功能非常強(qiáng)大,但要使其在我國(guó)企業(yè)中真正發(fā)揮作用,使常用的或重復(fù)的任務(wù)自動(dòng)化,提高效率,就必須對(duì)其進(jìn)行本地化、專業(yè)化的二次開(kāi)發(fā)工作。本文是在基于軸系結(jié)構(gòu)設(shè)計(jì)系統(tǒng)的研制上產(chǎn)生的,應(yīng)用Solidworks二次開(kāi)發(fā)來(lái)自動(dòng)生成零件,并在Solidworks環(huán)境下完成自動(dòng)裝配。
1 SolidWorks二次開(kāi)發(fā)原理
SolidWorks基于COM(Component Object Model,組件對(duì)象模型),完全支持OLE(Object Linking and Embed-ding,對(duì)象的鏈接與嵌入)標(biāo)準(zhǔn),實(shí)現(xiàn)了OLE自動(dòng)化。為方便用戶進(jìn)行二次開(kāi)發(fā),SolidWorks提供了幾百個(gè)刪(Application Programming Interface,應(yīng)用程序接口),這些API函數(shù)是SolidWorks的OLE或COM接口。SolidWorks的API接口分為兩種:一種是基于OLE Au-tomation的IDispatch技術(shù),通過(guò)IDispatch接口暴露對(duì)象的屬性和方法,以便在客戶程序中使用這些屬性并調(diào)用它所支持的方法。另一種開(kāi)發(fā)方式是基于Windows基礎(chǔ)的COM。
SolidWorks API為用戶提供了完全面向?qū)ο蟮念愺w系,是一個(gè)自上而下的多層次的樹(shù)型網(wǎng)絡(luò)結(jié)構(gòu),其部分組織結(jié)構(gòu)關(guān)系如圖l所示。它包括對(duì)象的類型、屬性和方法。SldWorks是根目錄對(duì)象類,位于應(yīng)用程序的底層,是訪問(wèn)SolidWorks API所有對(duì)象的入口。開(kāi)發(fā)者通過(guò)操縱對(duì)象的屬性和調(diào)用對(duì)象的方法建立自己的應(yīng)用程序。
2 SolidWorks二次開(kāi)發(fā)工具
任何支持COM和OLE的編程語(yǔ)言都可以成為S0lidWorks的開(kāi)發(fā)工具,如VB、VBA、C、VC++等。開(kāi)發(fā)者可以根據(jù)自身的條件、工具的特點(diǎn),選擇一種適合的開(kāi)發(fā)工具.
Visual Baic(VB)是運(yùn)行在Windows環(huán)境下的一種可視化編程語(yǔ)言,使用面向?qū)ο蟮木幊谭椒?OOP),它所具有的圖形設(shè)計(jì)工具、結(jié)構(gòu)化的事件驅(qū)動(dòng)編程模式和開(kāi)放的環(huán)境,可以使用戶即快又方便地編寫(xiě)出Windows下的應(yīng)用程序.
在SolidWorks中通過(guò)宏錄制可以記錄SolidWorks用戶的整個(gè)產(chǎn)品設(shè)計(jì)過(guò)程,把用戶的界面菜單操作所用到的SolidWorks對(duì)象、方法都一一記錄下來(lái),其語(yǔ)法完全符合Visual Basic。根據(jù)宏文件中的對(duì)象和方法在自己的應(yīng)用程序中合理調(diào)用,通過(guò)對(duì)變量的控制就可實(shí)現(xiàn)產(chǎn)品的參數(shù)化設(shè)計(jì)。在二次開(kāi)發(fā)過(guò)程中,宏錄制文件中的許多對(duì)象、方法可以直接在Visual Basic應(yīng)用程序中應(yīng)用,簡(jiǎn)化了開(kāi)發(fā)過(guò)程。
3 機(jī)械零件參數(shù)化設(shè)計(jì)實(shí)現(xiàn)
3.1 零件二次開(kāi)發(fā)的過(guò)程主要論述通過(guò)VB語(yǔ)言對(duì)SolidWorks進(jìn)行二次開(kāi)發(fā),其主要流程如下:
3.1.1 建立零件的數(shù)據(jù)庫(kù)首先分析機(jī)械零件有關(guān)數(shù)據(jù),利用VB的默認(rèn)數(shù)據(jù)庫(kù)Access為每一種零件建立數(shù)據(jù)庫(kù),如齒輪參數(shù)數(shù)據(jù)庫(kù),聯(lián)軸器參數(shù)數(shù)據(jù)庫(kù)等。在數(shù)據(jù)庫(kù)建成后,可以在應(yīng)用程序中通過(guò)數(shù)據(jù)控件與特定的數(shù)據(jù)表連接起來(lái)。利用用戶輸入的主參數(shù)作為索引,用Findfirst方法即可讀出對(duì)應(yīng)的數(shù)據(jù)。
3.1.2 分析零件的結(jié)構(gòu)特征,建立實(shí)體模型首先,針對(duì)要建立的實(shí)體,需要先分析其結(jié)構(gòu),區(qū)別特征的主次,利用SolidWorks建立零件特征,建立宏文件,有些操作宏文件無(wú)法記錄,需要調(diào)用相關(guān)API繪圖函數(shù)。實(shí)現(xiàn)關(guān)鍵數(shù)據(jù)變量化,如齒輪分度圓自徑、齒輪寬度等,而這些變量的數(shù)據(jù)來(lái)源即為齒輪數(shù)據(jù)庫(kù)下的某種齒輪類型數(shù)據(jù)表。建模完成后,使用AddComponent4方法即可將零件插入當(dāng)前裝配圖中.
3.1.3 建立應(yīng)用程序VB開(kāi)發(fā)的程序作為客戶方(client),而SolidWorks作為服務(wù)方(server),VB程序可建立與SolidWorks各級(jí)對(duì)象(object)的關(guān)聯(lián);另外,還必須在VB中通過(guò)“引用”(reference)JJll載SolidWorks類型庫(kù),使VB識(shí)別程序使用的SolidWorks對(duì)像類型、屬性和方法。
3.2 齒輪聯(lián)軸器二次開(kāi)發(fā)中的關(guān)鍵技術(shù)
以機(jī)械零件中的齒輪聯(lián)軸器為例介紹二次開(kāi)發(fā)中的關(guān)鍵技術(shù)。
3.2.1 聯(lián)軸器數(shù)據(jù)庫(kù)技術(shù)CL6型號(hào)齒式聯(lián)軸器的部分標(biāo)準(zhǔn)數(shù)據(jù)如表1所示。

建立數(shù)據(jù)庫(kù),在VB程序中引用數(shù)據(jù)庫(kù),就可以通過(guò)程序查詢聯(lián)軸器的國(guó)家機(jī)械標(biāo)準(zhǔn)信息。選擇聯(lián)軸器需要參考聯(lián)軸器的轉(zhuǎn)矩和轉(zhuǎn)速等信息,需要在程序中將聯(lián)軸器的數(shù)據(jù)信息加載到聯(lián)軸器設(shè)計(jì)的人機(jī)界面當(dāng)中,供設(shè)計(jì)人員參考。
齒輪聯(lián)軸器需要做到全參數(shù)化的有齒數(shù)、模數(shù)、壓力角、軸徑、鍵槽尺寸及相關(guān)安裝尺寸等。
實(shí)現(xiàn)模型創(chuàng)建,需通過(guò)VB環(huán)境下的數(shù)學(xué)模型計(jì)算,得出重要數(shù)據(jù)。對(duì)于齒輪聯(lián)軸器,最重要的是齒輪漸開(kāi)線的計(jì)算。在VB環(huán)境中,建立漸開(kāi)線直角坐標(biāo)方程. 聯(lián)立方程組,利用循環(huán)語(yǔ)句來(lái)實(shí)現(xiàn)漸開(kāi)線的計(jì)算。再將數(shù)據(jù)傳遞給ModelDoc2:SketchSpline方法繪制輪齒草圖, .調(diào)用FeatureManager::FeatureExtmsion2方法拉伸輪齒。
圖2 聯(lián)軸器數(shù)據(jù)流程
3.2.2 零件、裝配文檔的創(chuàng)建SldWorks對(duì)象是SolidWorks API中最高級(jí)的對(duì)象,它提供了SolidWorksAPI中所有對(duì)象的直接或間接接口。通過(guò)該對(duì)象可以控制SolidWorks軟件的執(zhí)行或退出。在VB中利用Create Object方法來(lái)獲得Sldworks對(duì)象,利用該對(duì)象的activedoc方法可以獲得當(dāng)前Solidworks文件對(duì)象。
相關(guān)文章
- 2021-09-08BIM技術(shù)叢書(shū)Revit軟件應(yīng)用系列Autodesk Revit族詳解 [
- 2021-09-08全國(guó)專業(yè)技術(shù)人員計(jì)算機(jī)應(yīng)用能力考試用書(shū) AutoCAD2004
- 2021-09-08EXCEL在工作中的應(yīng)用 制表、數(shù)據(jù)處理及宏應(yīng)用PDF下載
- 2021-08-30從零開(kāi)始AutoCAD 2014中文版機(jī)械制圖基礎(chǔ)培訓(xùn)教程 [李
- 2021-08-30從零開(kāi)始AutoCAD 2014中文版建筑制圖基礎(chǔ)培訓(xùn)教程 [朱
- 2021-08-30電氣CAD實(shí)例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風(fēng)暴2:Maya影像實(shí)拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術(shù)設(shè)計(jì)案例教程中文版AutoCAD 建筑設(shè)計(jì)案例
- 2021-08-29環(huán)境藝術(shù)制圖AutoCAD [徐幼光 編著] 2013年P(guān)DF下載
- 2021-08-29機(jī)械A(chǔ)utoCAD 項(xiàng)目教程 第3版 [繆希偉 主編] 2012年P(guān)DF