久久精品草-久久精品成人-久久精品成人免费网站-久久精品成人欧美大片免费-香港三级大全-香港三级日本三级a视频

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

2013-05-21  by:廣州有限元分析、培訓中心-1CAE.COM  來源:仿真在線

采用Visual Basic對SolidWorks進行二次開發,實現了在SolidWorks工程圖環境下明細欄的自動添加與調整。以某重型機械廠的產品為實例,對于在參數化驅動之后重新生成的裝配模型及工程圖,實現了根據零部件名稱及數量自動生成相對應的明細欄,并進行了一系列的優化與調整,解決了添加明細欄時工作繁瑣,速度慢,出錯多及難以用程序控制的缺點。
作者: 陳樹曉*水俊峰*張晉強*王宗彥 來源: 萬方數據
關鍵字: 明細欄 參數化 SolidWorks

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

SolidWorks的工程圖明細欄自動生成與調整技術solidworks simulation培訓教程圖片1


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

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

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

SolidWorks的工程圖明細欄自動生成與調整技術solidworks simulation培訓教程圖片2


 3. 2讀取零件數量及相關屬性
   
明細欄自動生成與調整模塊是整個二維參數化CAD系統的一部分,要反映的是參數化設計完成之后各個零件和標準件的個數及相關屬性。實際上,在輸人一組參數并進行驅動(特別是參數變化范圍較大)之后,裝配體中的零件種類和個數往往會發生變化。為此,只有在驅動完成之后再進行零件個數的讀取才能保證最后生成的明細欄內容的正確性。具體讀取方式主要采用了選擇和遍歷技術,逐個遍歷裝配體模型中零件樹的種類與個數并進行統計后寫人文件,格式采用:"零件序號/數量"的方式。需要注意的是,裝配完成之后應該把裝配模型中零件樹的順序按照明細欄的最后要求進行重新排列,目的是能夠保證寫入文件時記錄的數據是按照明細欄的順序排列的,減少排列出錯的可能性。
   
    數據讀取的流程如圖3所示:
   

SolidWorks的工程圖明細欄自動生成與調整技術solidworks simulation培訓教程圖片3


    3.3初步生成明細欄
   
初步生成明細欄是比較重要的一步,通過調用API函數InsertBomTable2,插人預先設置好的明細欄模板,并根據讀取零件個數時所保存的文件的行數及其零件序號的最大值判斷將要生成的明細欄的行數。接下來,寫人記錄的"零件序號/數量"的信息,并通過零件序號信息訪問對應的零件,讀取零件建模時輸入的自定義屬性值,并以填人或更新TableAnn的Text屬性值的方式依次寫入到相應的位置。
   
    3. 4調整序號空缺
   
在裝配體中,考慮到某些標準件沒有進行裝配,裝配零件樹中也沒有相應的零件,在進行讀取時就不可能讀取這些未裝配的零件信息,所以在明細欄相應的位置進行添加空缺行的操作,以便于后續工作中可以進行人工添加,具體方法是對生成的明細欄序號進行連續性判斷,只要有空缺的,就插入一個空行,并寫人相應的序號值。
   
    相關程序如下:
   

SolidWorks的工程圖明細欄自動生成與調整技術solidworks simulation培訓教程圖片4


  說明:循環判斷是否存在序號不連貫的現象,如果存在,判斷某處需要插人幾個空行,通過TableAnn的InsertRow函數插人到明細欄中,并在序號一欄寫人空缺的序號值。
   
    3.5修改部分零部件名稱
   
參數化驅動完成之后,生成的新的裝配體中所有的零部件已經通過零件更名的方式獲得了新的名稱,但是在2.1所述的零件自定義屬性中設置的名稱(PartNo)卻沒有隨之發生改變。為了保證明細欄的零件名稱屬性能夠與新生成的系列零件一致,必須進行更名的操作。
   
核心代碼為:
   

SolidWorks的工程圖明細欄自動生成與調整技術solidworks simulation培訓教程圖片5


說明:Var(vi)是讀取零件個數時記錄的值,s為第i行中"代號"列的值,如果值"s"與"A2167"(某零件模型的原代號)有重復部分,把"A2167"用最初輸人的代號fi1cN0的值代替,完成修改零部件名稱.
    
    4結束語
   
基于SolidWorks的工程圖明細欄自動生成與調整技術在三維參數化系統中的應用,使整個系統實現了明細欄的自動添加與調整,布局合理、序號連貫、信息詳實準確。該技術解決了人工輸人明細欄工作量大且煩瑣,軟件本身的明細欄功能不能夠很好地符合國家標準和企業需要等問題,提升了整個三維參數化CAD系統的自動化水平,加快了作圖速度。該技術也可供使用其他二維CAD軟件的技術人員作為參考。


開放分享:優質有限元技術文章,助你自學成才

相關標簽搜索:SolidWorks的工程圖明細欄自動生成與調整技術 SolidWorks培訓課程 SolidWorks設計教程 SolidWorks視頻教程 SolidWorks軟件下載 SolidWorks在建筑室內設計工業設計的應用 SolidWorks基礎知識 SolidWorks代做 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓 Abaqus培訓 Autoform培訓 

編輯
在線報名:
  • 客服在線請直接聯系我們的客服,您也可以通過下面的方式進行在線報名,我們會及時給您回復電話,謝謝!
驗證碼

全國服務熱線

1358-032-9919

廣州公司:
廣州市環市中路306號金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓QQ咨詢:點擊咨詢 點擊咨詢
項目QQ咨詢:點擊咨詢
email:kf@1cae.com




主站蜘蛛池模板: 毛片免费在线观看网站 | 日韩亚洲成a人片在线观看 日韩亚洲 | 91大片淫黄大片.在线天堂 | 91精品国产一区二区三区左线 | 免费黄色高清视频 | 欧美亚洲日本国产 | 四虎影视网 | 国产精品日本一区二区在线播放 | 香蕉视频一区二区三区 | 久久精品国产影库免费看 | 欧美成人免费 | 亚洲免费观看网站 | 日本在线观看一区 | 手机看片1204国内基地在线 | 欧美区一区二 | 成人网在线视频 | 依依成人综合网 | 亚洲热在线 | 色综合天天综久久久噜噜噜久久〔 | 九九视频高清视频免费观看 | 在线观看免费国产视频 | 男人的天堂在线观看视频不卡 | 欧美首页 | 99re这里只有精品6 | 91福利精品老师国产自产在线 | 青青青视频免费 | 欧美视频在线观看视频 | 国产精品麻豆久久99 | aⅴ在线免费观看 | 我们不能是朋友电视剧免费观看 | 火辣福利视频 | 成人四虎 | 亚洲另类欧美日韩 | 青草视频在线观看完整版 | 精品免费久久久久久久 | 在线观看亚洲网站 | 国产最新精品精品视频 | 综合网中文字幕 | 日韩免费精品视频 | 999热视频 | 香蕉网在线观看 |