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

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

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