我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網站首頁 > Solidworks

基于SolidWorks的工程圖明細欄自動生成與調整技術

時間:2010-06-02 08:00:00 來源:
副標題#e#     明細欄作為工程圖的重要組成部分,它用于反映各零部件之間相互關系及其代號(標準件號)、名稱、數量、材料等屬性信息。為此,如何在三維模型參數化驅動之后生成正確、符合要求的明細欄,是獲得高質量工程圖的必要前提,也是保證整個三維參數化設計系統可靠性的重要基礎川。在SolidWorks2005中提供了2種建立明細欄的方式:一種是基于Exccl表的形式;另一種是完全基于SolidWorks自行開發的、比Excel表功能更強大更方便的明細欄形式。盡管第二種添加方法明顯優于前者,但是要能夠在參數驅動之后的工程圖中自動添加合適的明細欄,不參與任何的人工輔助,必須通過程序控制。基于參數化模型驅動的工程圖明細欄自動生成與調整技術是以SolidWorks對于明細欄的后一種添加方法為基礎,采用VB語言以及SolidWorks API函數進行工程圖明細欄的自動生成與調整,主要包括明細欄模板調用、行數計算、序號調整、高度及列寬的控制以及明細欄內容的填充與修改。
   
    1總體設計思想
   
    三維參數化設計的思想是采用約束來表達產品模型的形狀特征,并用一組參數來控制設計結果,從而通過變換一組參數值方便地創建了一系列形狀類似的零件,并通過強度和剛度驗算合格,自動生成產品的三維模型和工程圖。從圖1可以看出,明細欄的自動生成與調整是整個三維參數化設計過程的重要組成部分。
   


    在本文所測試的對象產品中,采用先根據企業的需求建立明細欄模板,再通過程序進行添加的方法來實現工程圖中明細欄的添加。由于它是在新的裝配體零部件更名完成后進行這一系列的操作,因此就不會出現明細欄無法識別的情況;同時在模型參數化驅動完成后,通過相關程序統計部件中的零件數目,并存儲在專門的文件或程序控件中,這樣在通過程序初步添加明細欄以后寫人相應零部件的數量、名稱、材料、質量等屬性,最后就可以在最終工程圖中完成符合企業要求的明細欄的添加過程。
   
    2實現方法與技術

   
    針對三維參數化設計中工程圖明細欄的特殊要求,SolidWorks自身提供了BomFeatureBOMTable TableAnnotation等API函數便于技術人員利用二次開發技術控制明細欄的生成與調用。所以,程序控制明細欄生成與調整的過程就是調用SolidWorks相關API函數的過程,具體調用的函數類型及使用方法描述如下。
   
    BOMTable對象是SolidWorks API提供的指向明細欄的對象,它是View對象的下級對象,通過ModelDoc2對象的下一級對象SelectionMgr對象的GetSelectedObject5方法獲得指向需要建立明細欄的視圖的View對象,同時通過View對象InsertBomTable2方法就可以實現程序建立明細欄,在明細欄建立之后通過View對象的GetBomTable方法可以獲得指向明細欄的指針,得到指向BOMTable對象的指針后,就可以操作明細欄的屬性。在建立明細欄獲得指向BOMTable對象指針后,通過BOMTable對象的BomFeature方法可以獲得指向BomFeature對象的指針,通過BomFeature對象的ConfigurationTableTypeKeepMissingItemsSequenceStartNumber等屬性和方法就可以對明細欄的模版、類型、是否保持丟失項目以及起始序號等屬性進行獲取和設置,明細欄出現空白行的情況可以通過I3omFeature對象的GetTableAnnotations方法獲取指向TableAnnotation對象的指針,通過TableAnnotation對象的DeleteRow方法就可以刪除空白的行,通過TableAnnotation的Text屬性可以實現零件數量的更新。TabIeAnnotation對象是控制整個BOM最關鍵的對象,通過該對象的屬性和方法的控制可以基木實現對BOM屬性的完全設置。
   
    3具體實現步驟
   
    3.1零部件模型的建模要求

   
    在工程圖中生成明細欄時,每個零件的相關屬性都是要能與材料明細欄所對應的列進行自動鏈接的,目的是能夠通過鏈接自動在明細欄對應位置寫入相關屬性。為此,必須在零部件建模時設置其相關屬性,圖2為某零件的自定義屬性,其中與明細欄相關的屬性包括重量(Weight)、材料(Materi-al)、序號(No )、代號(DrawingNo )、名稱(YartNo)等。