<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 三維CAD與BOM管理系統(tǒng)的接口研究

          三維CAD與BOM管理系統(tǒng)的接口研究

          作者: 時間:2013-05-03 來源:網(wǎng)絡 收藏
          引言

          隨著制造業(yè)對CAD技術的廣泛應用,相應地CAD設計信息也越來越龐大,對這些設計信息的管理成為迫切的任務。目前流行的(Bill Of Material)管理為企業(yè)的這種信息管理提供了很好的解決方案。CAD與間的信息傳遞和反饋是解決問題的前提條件。

          1 管理簡介

          BOM是產(chǎn)品結構的關系表述,而BOM管理是產(chǎn)品數(shù)據(jù)組織與管理的一種形式,它以數(shù)據(jù)庫為底層支持,以BOM表為其組織核心,把定義最終產(chǎn)品的所有工程數(shù)據(jù)和文檔聯(lián)系起來,實現(xiàn)產(chǎn)品數(shù)據(jù)的組織、管理和控制,并在一定目標或規(guī)則約束下,向用戶或應用系統(tǒng)提供產(chǎn)品結構不同視圖的描述。

          2 BOM接口的開發(fā)

          BOM接口是在CAD支撐軟件的基礎上進行二次開發(fā),實現(xiàn)CAD與BOM信息集成的軟件模塊。主要包含兩方面的功能,首先是BOM與CAD軟件之間的產(chǎn)品信息傳遞、反饋功能;其次是編碼功能。

          2-1 BOM管理系統(tǒng)與CAD的信息傳遞

          圖1 是BOM系統(tǒng)與CAD的產(chǎn)品信息傳遞流程。BOM接口的工作過程是:CAD設計人員從裝配圖中抽取BOM信息保存到數(shù)據(jù)庫中,使CAD中的設計信息能夠被BOM管理系統(tǒng)識別和處理,并將處理后的信息反饋給設計者。BOM管理系統(tǒng)是從屬于PDM 的一個子系統(tǒng)。

          2-1-1 裝配樹的遍歷算法

          是以樹型結構組織裝配中的組件和零件,而在數(shù)據(jù)庫中則通過記錄裝配樹各組成結點間的父子關系、兄弟關系來保存BOM樹結構。因此,BOM管理功能模型中,諸如BOM的存儲、讀取、查詢、配置、比較等都離不開樹的遍歷,可以說樹的遍歷是BOM管理最基本、最關鍵的算法,它的優(yōu)劣直接關系到軟件的運行效率。

          對裝配樹的遍歷通常有兩種方法:廣度遍歷和深度遍歷。

          2-1-1-1 廣度遍歷

          裝配樹的廣度遍歷是按照先兄后子的順序進行的,即先對裝配樹中同一層次搜索完成后,再對同一層上的每個結點進行同一層的子項搜索。

          2-1-1-2 深度遍歷

          圖2 為深度遍歷的邏輯流程圖,裝配樹的深度遍歷是按照先子后兄的順序進行的,即先對裝配樹中每一結點判斷是否有子項,直至子項為空,即到達終端結點;再對終端結點判斷是否有兄弟項,若有兄弟項存在,對兄弟項結點繼續(xù)套用搜索子項的方式,把兄弟項結點看作父結點;若無兄弟項存在,則返回父項層,判斷父項的兄弟項是否存在,套用上述搜索兄弟的方式,直到最頂級的根結點。


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();