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

您的位置:網站首頁 > Solidworks

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

時間:2010-06-02 08:00:00 來源:

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


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


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


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