0 引言
SolidWorks是基于Windows平臺(tái)的三維機(jī)械設(shè)計(jì)軟件,在國(guó)內(nèi)已得到廣泛使用。該軟件具有全面的實(shí)體建模功能,可快速生成完整的工程圖,其尺寸驅(qū)動(dòng)功能使圖樣的修改更加方便,此外還可以進(jìn)行模具設(shè)計(jì)、工程分析以及產(chǎn)品數(shù)據(jù)管理等??傊?,SolidWorks功能強(qiáng)大、技術(shù)創(chuàng)新,且易學(xué)、易用。為了更好地使用軟件,以VB為開(kāi)發(fā)工具,利用SolidWorks OLE應(yīng)用程序開(kāi)發(fā)接口API函數(shù),實(shí)現(xiàn)了SolidWorks中自定義屬性插件的開(kāi)發(fā),方便了SolidWorks用戶的設(shè)計(jì)工作,提高了設(shè)計(jì)效率。
大多數(shù)工程圖的標(biāo)題欄中應(yīng)該包括一些基本的設(shè)計(jì)信息,如零件名稱、零件代號(hào)、材料以及設(shè)計(jì)者等,其中零件名稱、零件代號(hào)、備注等信息還要出現(xiàn)在裝配圖的材料明細(xì)表中,這些內(nèi)容若在工程圖中一一進(jìn)行編寫(xiě)和修改,其工作量大且不利于保證零件三維圖與工程圖設(shè)計(jì)信息的一致性。
SolidWorks是一個(gè)全相關(guān)的機(jī)械設(shè)計(jì)軟件。其三維模型文件中的設(shè)計(jì)數(shù)據(jù),如尺寸、注釋和文件屬性等內(nèi)容與工程圖相關(guān)。因此,在處理工程圖標(biāo)題欄和材料明細(xì)表中的設(shè)計(jì)數(shù)據(jù)時(shí),可以將這些內(nèi)容保存在三維模型文件中,使其自動(dòng)顯示在工程圖相應(yīng)的位置上,當(dāng)需要對(duì)工程圖中的內(nèi)容進(jìn)行修改時(shí),直接修改三維模型文件中的相應(yīng)數(shù)據(jù)即可實(shí)現(xiàn),這樣不僅保證了設(shè)計(jì)信息的一致性,還可以提高設(shè)計(jì)效率。然而即使這樣,也十分繁瑣,如果能開(kāi)發(fā)一個(gè)控件,與solidWorks軟件融為一體,則可以達(dá)到事半功倍的效果。
1 Active Ocx控件的開(kāi)發(fā)
為了提高效率,以VB為開(kāi)發(fā)工具,筆者開(kāi)發(fā)了一個(gè)Active Ocx控件,并用SolidWorks“宏”操作來(lái)引用該控件,從而在SolidWorks中生成一個(gè)Properymanagerpage,并利用其中的控件添加自定義屬性。程序運(yùn)行界面如圖1所示。

圖1 程序運(yùn)行界面
該程序可實(shí)現(xiàn)的功能如下。
1)如果文件只有一個(gè)默認(rèn)配置“Default”,則自定義屬性添加在文件的“自定義”欄,如果文件有兩個(gè)及以上配置,則屬性根據(jù)配置不同添加在“配置特定”欄。
2)添加的項(xiàng)目包括作者、序號(hào)和名稱等,具體如圖1所示。
3)選擇不同的配置名稱,則相應(yīng)屬性信息顯示在對(duì)應(yīng)的文本框內(nèi)。
Active Ocx控件的開(kāi)發(fā)步驟為:首先在VB中,新建工程,選擇ActiveX控件,然后“確定”,并引用SolidWorks類和SolidWorks常數(shù)類,修改工程名稱為propertymgr,并設(shè)置此項(xiàng)目為工程兼容,在名稱欄輸入“shuxing.ocx”,之后如圖1所示在用戶控件UserControll上添加各個(gè)控件。
1.1獲得SolidWorks對(duì)象
獲得SolidWorks對(duì)象,即獲得與SolidWorks的接口,這是SolidWorksAPI最高級(jí)別的對(duì)象,可以控制SolidWorks文件的建立、打開(kāi)和關(guān)閉等操作。代碼如下:

1.2獲得文件名稱與配置名稱
SolidWorks API提供了按照配置名稱訪問(wèn)自定義屬性的方法CustomInfO2(讀取自定義屬性的值)、DeleteCustomInfo2(刪除指定的自定義屬性)、AddCustomInfo3(添加自定義屬性的名稱和參數(shù)值),這些方法都要求指定文件的配置名稱。因此為了對(duì)當(dāng)前模型文件和當(dāng)前配置設(shè)定自定義屬性,必須首先要獲得當(dāng)前配置的名稱,利用GetConfiguration-Names()方法可以獲得當(dāng)前模型文件配置的名稱,并利用GetConfigurationCount()方法獲得當(dāng)前配置的數(shù)量。代碼如下:

1.3訪問(wèn)自定義屬性
本程序設(shè)計(jì)根據(jù)配置不同而分別添加不同的自定義屬性。主要屬性配置方法如下。
1)CustomInfo:如果只有一個(gè)默認(rèn)配置,將獲取當(dāng)前文檔自定義欄中的自定義屬性的值。
![]()
其中,“序號(hào)”為自定義屬性的名稱(以下同)。
2)DeleteCustomInfo:如果只有一個(gè)默認(rèn)配置,將刪除當(dāng)前文檔自定義欄中的自定義屬性的值。
![]()
3)CustomInfo2:如果有兩個(gè)及以上配置,將獲取當(dāng)前文檔指定配置的自定義屬性的值。
![]()
其中,configname為配置名稱。
4)DeleteCustomInfo3:如果有兩個(gè)及以上配置,刪除當(dāng)前文檔指定配置的自定義屬性的值。
![]()
5)AddCustomInfo3:如果有兩個(gè)及以上配置,向當(dāng)前文檔中指定的配置添加自定義屬性及值。
![]()
其中,swCustomInfoNumber為自定義屬性的類型;UserControl.Text2.Text為自定義屬性的具體值。
主程序代碼完成后,就可以點(diǎn)擊“文件→生成shuxing.ocx”,完成Active Ocx控件的開(kāi)發(fā)。
2 在SolidWorks中運(yùn)行
要在SolidWorks中運(yùn)行上面生成的控件,需要由“宏”程序調(diào)用。利用“宏”在solidWorks界面中添加指定的應(yīng)用程序后,就如同S0lidWorks調(diào)用了自身的功能一樣。
2.1建立“宏”程序
建立“宏”程序,首先建立與solidWorks的連接,并判別當(dāng)前文檔是不是零件或者裝配文件,如果是,則調(diào)用shuxing.ocx;如果是工程圖文件,則顯示錯(cuò)誤。
部分代碼如下:

其中CreateFeatureMgrControl為創(chuàng)建特性管理器視圖方法,”propertymgr.UserControll”為對(duì)8huxing.ocx控件的調(diào)用。
2.2指定“宏”操作
在SolidWorks中可以指定宏命令的文件位置,并定制工具欄,將所執(zhí)行的宏操作按鈕添加到指定的位置上。具體步驟如下。
點(diǎn)擊菜單“工具→自定義→命令→宏”,選擇“新建宏按鈕”,拖動(dòng)圖標(biāo)到SolidWorks任意工具欄,再按照?qǐng)D2所示的設(shè)置即可。

圖2 指定“宏”操作
設(shè)置完成后,點(diǎn)擊設(shè)置好的圖標(biāo),就可以在SolidWorks運(yùn)行該程序(運(yùn)行界面見(jiàn)圖1)。
3 結(jié)語(yǔ)
筆者開(kāi)發(fā)的Active Ocx控件,可以用“宏”程序調(diào)用。以特性管理器頁(yè)面的方式來(lái)顯示程序,可以使程序與SolidWorks界面結(jié)合緊湊,方便使用。
相關(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-28計(jì)算機(jī)輔助設(shè)計(jì)與制造 21世紀(jì)全國(guó)應(yīng)用型本科大機(jī)械系
- 2021-08-27計(jì)算機(jī)輔助設(shè)計(jì)與制造 21世紀(jì)全國(guó)應(yīng)用型本科大機(jī)械系
- 2021-08-23精通AutoCAD三維設(shè)計(jì)與開(kāi)發(fā)PDF下載
- 2021-08-23零基礎(chǔ)學(xué)AutoCAD 2012電氣制圖工程應(yīng)用 [張立富,陳剛,彭
- 2021-08-22AutoCAD 室內(nèi)裝潢設(shè)計(jì)應(yīng)用大全中文版 [馬永志,鄭藝華,劉
- 2021-08-22AutoCAD 2013應(yīng)用與開(kāi)發(fā)系列中文版AutoCAD 2013室內(nèi)裝
- 2021-08-22AutoCAD 2013應(yīng)用與開(kāi)發(fā)系列中文版AutoCAD 2013機(jī)械圖