新聞中心

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

        三維CAD與BOM管理系統的接口研究

        作者: 時間:2013-05-03 來源:網絡 收藏
        以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 接口對數據庫的操作

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

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

        在SolidWorks環境下對數據庫操作的部分代碼如下:

        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”) ;???創建Connect ion 對象
        ??
        }


        關鍵詞: 三維CAD BOM 管理系統

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 咸丰县| 双江| 三明市| 盐源县| 福贡县| 防城港市| 淳安县| 资溪县| 鸡泽县| 红河县| 南和县| 安福县| 晋宁县| 吴忠市| 安新县| 扎兰屯市| 安陆市| 卫辉市| 阳春市| 凤山县| 县级市| 湛江市| 夏邑县| 大丰市| 海兴县| 福海县| 剑河县| 汝城县| 双鸭山市| 阿坝| 堆龙德庆县| 探索| 富阳市| 昆明市| 抚远县| 溆浦县| 中阳县| 海阳市| 巫山县| 曲沃县| 来安县|