摘要:為解決solidworks工程圖中材料明細(xì)表無法鎖定的問題。開發(fā)出一個(gè)基于VB,NET語言的計(jì)算機(jī)應(yīng)用程序。該程序?qū)崿F(xiàn)了自動(dòng)調(diào)整材料明細(xì)表內(nèi)文字的高寬比,材料明細(xì)表的行列距離,提高了工作效率。
關(guān)鍵詞:SolidWorks 材料明細(xì)表 二次開發(fā)
中圖分類號:TM937 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號:1674-098X(2012)01(c)-0024-02
1 引言
SolidWorks是一個(gè)基于特征的參數(shù)化實(shí)體建模設(shè)計(jì)工具,也是完全基于Win-dows平臺(tái)的軟件,具有Windows的圖形化界面,操作簡單方便、易學(xué)易用,為設(shè)計(jì)人員提供了良好的設(shè)計(jì)環(huán)境。SolidWorks盡管功能強(qiáng)大,但在工程圖中沒有提供對文字的高寬比修改的功能,這無疑給設(shè)計(jì)帶來了不便。
2 問題描述
SolidWorks22程圖的功能十分強(qiáng)大,能夠自動(dòng)生成各種表格,以滿足各種需求,其中最常用的表格便是材料明細(xì)表。在編輯材料明細(xì)表內(nèi)文字時(shí),只能通過改變文字的大小的方法來滿足材料明細(xì)表行距的固定,但這又使材料明細(xì)表內(nèi)文字太小,既不符合國家制圖規(guī)范,又不利于工作。
本次二次開發(fā)是利用SolidWorks強(qiáng)大的函數(shù)擴(kuò)展功能,其關(guān)鍵是自動(dòng)獲取工程圖內(nèi)材料明細(xì)表并按要求對表格進(jìn)行修改、完善,并實(shí)現(xiàn)SolidWorks的自動(dòng)調(diào)用。
3 程序設(shè)計(jì)
SotidWorks工程圖“材料明細(xì)表編輯器”的結(jié)構(gòu)功能圖如1所示。

3.1 材料明細(xì)表的獲取和修改
程序的設(shè)計(jì)思想如下:首先,從當(dāng)前打開的SolidWorks工程圖中自動(dòng)獲取材料明細(xì)表,并將獲取的相關(guān)信息并顯示給用戶。根據(jù)材料明細(xì)表要求的列寬、文字大小,可以得到每列能容納文字的最大允許數(shù)量。然后,依據(jù)“每列能容納文字的最大允許數(shù)量”來設(shè)定每個(gè)單元格內(nèi)的文字合適的高寬比。最后,以材料明細(xì)表要求的行高、列寬為標(biāo)準(zhǔn),對材料明細(xì)表進(jìn)行格式化,來鎖定其行列距離。
下面介紹其關(guān)鍵技術(shù):
1)設(shè)定文本的高寬比
swTextFormat.WidthFactor=newWidthFactor
2)鎖定材料明細(xì)表行列距離
’鎖定材料明細(xì)表行距離
swTable.SetRowHeight(…)
’鎖定材料明細(xì)表列距離
swTabte.SetColumnWidth(…)
3.2 應(yīng)用程序開發(fā)的實(shí)現(xiàn)過程
將所編寫的程序生產(chǎn)*,dll文件并注冊,該軟件就會(huì)在SolidWorks“插件”對話框中出現(xiàn)。通過“插件”的方法,可使VB.NET開發(fā)的應(yīng)用程序與solidWorks完美集成一起,實(shí)現(xiàn)“進(jìn)程內(nèi)”調(diào)用,提高運(yùn)行效率。
3.3 程序的運(yùn)行實(shí)例
打開一個(gè)已經(jīng)包含材料明細(xì)表的Solidworks工程圖,選擇菜單中“材料明細(xì)表編輯器”后,軟件自動(dòng)讀取材料明細(xì)表信息并顯示(如圖2所示)。“格式化文本”的功能是自動(dòng)調(diào)整文本的高寬比,“格式化明細(xì)表”的功能是鎖定材料明細(xì)表行列距離。
軟件調(diào)整前和調(diào)整后的材料明細(xì)表對比效果如圖3、4所示。

當(dāng)然,也允許手工來編輯材料明細(xì)表的內(nèi)容,以使材料明細(xì)表更完善(如圖5所示)。
3 結(jié)語
本次材料明細(xì)表的二次開發(fā),實(shí)現(xiàn)了自動(dòng)調(diào)整材料明細(xì)表內(nèi)文字的高寬比、材料明細(xì)表的行列距離,減少了設(shè)計(jì)人員的工作量和工作時(shí)間,有效的提高工作效率。所以此次二次開發(fā)具有一定的應(yīng)用價(jià)值。
同理,本程序稍加完善后也可以應(yīng)用于其他類型的表格。
本程序也可以進(jìn)一步深度開發(fā),如將工程圈材料明細(xì)表的相關(guān)信息保存至數(shù)據(jù)庫,待信息完整后分類輸出形成各種報(bào)表,以滿足不同的需求。