<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)絡 收藏
          以SolidWorks為例,遍歷過程的部分代碼如下:

          (1) 得到裝配圖中裝配樹的根:

          HRESULTres=S_OK;
          LPCONFIGURATION pConfiguration= NULL;
          LPMODELDOC pModelDoc= NULL;
          LPCOMPONENT pRootComponent= NULL;
          long RecurseLevel= 0;
          LPSLDWORKS
          pTemp= TheApplication- > GetSWApp () ;
          respTemp- > get_IActiveDoc (pModelDoc) ;
          if (S_OK! = res? ?pModelDoc== NULL)
          return;
          if (pModelDoc-> IGetActiveConfiguration
          (pConfiguration) = = S_OK )
          {pConfiguration- > IGetRootComponent
          (pRootComponent) ;}??

          (2) 從裝配樹根開始,對裝配樹進行遍歷,部分代碼如下:

          int TraverseChildren ( long RecurseLevel,
          LPCOMPONENT pComponent)
          {
          LPCOMPONENT3 pCh ildren = NULL;
          int nChildren= 0;
          HRESULT hres= S_ O K;
          BSTR Name;
          hres = pComponent- > get_Name (Name) ;
          g_JianHaoArray1Add (Name) ;
          ??
          if (S_OK = = hres? ?nChildren> 0)
          {
          pCh ildren =
          new L PCOM PON EN T [nCh ildren ];
          h res=
          pComponent- > IGetCh ildren ( (L PCOM PON EN T3
          3 ) pCh ildren) ;
          pComponent- > get_Name (parent) ;
          if (S_ O K = = h res) {
          ??Recursively t raverse the ch ildren
          fo r ( i= 0;i nCh ildren;i+ + )
          {
          T raverseCh ildren (RecurseL evel,,pCh ildren[ i]) ;
          pCh ildren [ i]- > Release () ;
          }}
          delete[ ]pCh ildren;}
          RecurseL evel- - ;
          ??
          return nChildren;
          }

          2-1-2 接口對數(shù)據(jù)庫的操作

          圖3 為接口主界面,本文使用ADO(ActiveX Data Object) 實現(xiàn)對數(shù)據(jù)庫的操作。下面介紹在VC++中使用ADO的方法:

          (1) 初始化COM庫,引入ADO庫定義文件。
          (2) 用Connection 對象連接數(shù)據(jù)庫。
          (3) 利用建立好的連接,通過Connection、Command 對象執(zhí)行SQL 命令,或利用Recordset對象取得結(jié)果記錄集進行查詢、處理。
          (4) 使用完畢后關閉連接釋放對象。

          在SolidWorks環(huán)境下對數(shù)據(jù)庫操作的部分代碼如下:

          StsAfx1h
          # impo rt“C:?P rogramF iles?CommonF iles?System?
          ado?m sado151dll”no_ namespace rename (“EO F”,
          “adoEO F”) ??引入ADO 庫定義
          1cpp
          long InitU serDLL 3 (L PSLDWORKS pSldWo rk s)
          {??
          A fxO le Init () ;??初始化COM 庫
          ??
          }

          ReadWriteClass1cpp
          BOOL ReadW riteClass::L inkDatabase (?)
          { ??
          h r= m_ Connect ion1Create Instance
          (“ADODB1Connect ion”) ;???創(chuàng)建Connect ion 對象
          ??
          }


          評論


          相關推薦

          技術專區(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); })();