亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于VC++的Solidworks機械零件參數(shù)化設(shè)計

        2010-11-15 07:49:48
        湖南科技學院學報 2010年12期
        關(guān)鍵詞:錐套二次開發(fā)插件

        劉 媛

        (安徽電子信息職業(yè)技術(shù)學院電子系,安徽 蚌埠 233000)

        基于VC++的Solidworks機械零件參數(shù)化設(shè)計

        劉 媛

        (安徽電子信息職業(yè)技術(shù)學院電子系,安徽 蚌埠 233000)

        SolidWorks是目前使用十分廣泛的三維CAD軟件。Solidworks的二次開發(fā)可以為現(xiàn)代企業(yè)提供本地的專門的CAD/CAE軟件。使用SolidWorks提供的 SDK工具調(diào)用API函數(shù)開發(fā)SolidWorks DLL 程序是二次開發(fā)的關(guān)鍵技術(shù)。

        SolidWorks;vc++;二次開發(fā);活動錐套

        1. 引言

        SolidWorks是Windows環(huán)境下的基于三維造型的機械設(shè)計CAD軟件,目前使用十分廣泛。由于采用參數(shù)化尺寸驅(qū)動和特征造型技術(shù),以及全相關(guān)的數(shù)據(jù)管理,在建立零件的三維模型后 ,可以動態(tài)模擬裝配過程 ,還可以由三維實體自動生成二維工程圖。在某一階段中對模型進行了修改 ,則相關(guān)的數(shù)據(jù)文件也會相應更改?!?】

        雖然 SolidWorks軟件易學易用,但仍然不能完全滿足特定企業(yè)的特殊要求。為了適合特定企業(yè)的特殊需求,形成企業(yè)自己的特色,使 SolidWorks在我國的企業(yè)中有效地發(fā)揮作用,并使常用的或重復的任務(wù)自動化,提高效率,就必須對其進行本地化和專業(yè)化的二次開發(fā)工作。

        2. SolidWorks二次開發(fā)簡介

        以 SolidWorks的二次開發(fā)為例,目前對三維造型軟件進行二次開發(fā)的一般流程如圖1所示。

        3. SolidWorks二次開發(fā)原理和關(guān)鍵技術(shù)

        SolidWorks的API(Application Program Interface,應用程序接口)是一個基于 OLE (Object Linking and Embedding,對象的嵌入與鏈接)Automation或 COM(Component Object Model,組件對象模型)的編程接口,其中包含了數(shù)以百計的功能函數(shù),利用這些函數(shù),用戶可以開發(fā)出所需要的SolidWorks的專用模塊?!?】

        圖1 二次開發(fā)的一般流程

        由于SolidWorks API接口采用面向?qū)ο蟮姆椒ǎ泻瘮?shù)都是相關(guān)對象的屬性或方法。程序員可以對這些完全面向?qū)ο蟮念惻缮宇悾?進一步生成這些類的對象,就可以設(shè)置或修改對象的屬性,運行對象的方法,實現(xiàn)對于SolidWorks 的數(shù)據(jù)庫、圖形系統(tǒng)和系統(tǒng)界面的訪問。通過對 SolidWorks對象的屬性的設(shè)置和方法的調(diào)用,就可以在用戶自己開發(fā)的 DLL中實現(xiàn)滿足用戶需求的功能。

        在SolidWorks2007二次開發(fā)時,使用的是ATL對象向?qū)А癝olidWorks API SDK”。SolidWorks API SDK是基于SolidWorks API的二次開發(fā)工具??梢詮腟olidWorks網(wǎng)站下載,下載以后解壓安裝,在默認地址 C:Program FilesMicrosoft Visual StudioCommonMSDev98Template ATL中生成文件 SwAddin。API中的數(shù)百個函數(shù)都可以被Visual C + + 調(diào)用。

        啟動vc++,選擇ATL COM AppWizard項目類型開發(fā)dll類型的文件。使用DLL有很多益處,例如,一旦裝入內(nèi)存,函數(shù)就可以被正在運行的程序所調(diào)用,不必重復編譯和鏈接。也會使得程序的開發(fā)更為靈活。對于 SolidWorks而言,DLL最大的好處就是可以實現(xiàn)對SolidWorks底層的開發(fā),且代碼的執(zhí)行效率高,可以將DLL以插件的形式無縫集成到SolidWorks主菜單中去。

        4. 基于VC++的SolidWorks參數(shù)化設(shè)計實例

        下面以液壓機輔具的一個活動錐套零件為例詳細說明設(shè)計方法和過程。

        4.1 設(shè)計思想

        本程序可以根據(jù)用戶輸入的尺寸參數(shù)在 SolidWorks系統(tǒng)中自動繪出活動錐套的零件圖 ,從而實現(xiàn)活動錐套的三維造型參數(shù)化設(shè)計。程序是在Visual C++6.0 開發(fā)環(huán)境下首先建立與 SolidWorks2007軟件 COM 接口的通訊 ,定制SolidWorks 系統(tǒng)的菜單,并通過 MFC類庫進行主控界面設(shè)計,編譯后生成 SolidWorks 的動態(tài)鏈接庫文件dll .注冊成功后就可以加載為 SolidWorks 系統(tǒng)的插件。DLL 文件加載成功后 ,用戶就可打開自定義的菜單彈出程序的主控界面 ,通過人機交互操作輸入活動錐套的尺寸參數(shù), SolidWorks 自動繪制圖形,實現(xiàn)了二次開發(fā)的 CAD系統(tǒng)與SolidWorks的無縫集成。

        4.2 設(shè)計過程

        4.2.1 增加菜單和菜單項

        首先用VC++建立一個ATL COM AppWizard工程,名為 hdjt, 服務(wù)器類型為 DLL。建立工程以后,在 hdjt class右鍵選擇new atl object,進一步選擇swaddin。將ATL object Wizard name 改為 swobj,這樣就可以生成一個在插件和Solidworks之間進行通訊的接口Iswobj。

        建立字符串表后,編輯AddMenus()函數(shù),添加代碼,具體可以參閱資料[2].編譯、構(gòu)建以后得到一個名為hdjt的dll文件。一般情況下,該dll文件已經(jīng)注冊為Solidworks的插件。直接用Solidworks打開這個dll文件,就可以實現(xiàn)dll文件的加載。

        4.2.2 繪制圖形

        在Solidworks環(huán)境下,繪制活動錐套的圖形,并獲取基本尺寸的名稱,例如“D1@草圖1”等。并將文件保存。

        4.2.3 建立插件和Solidworks通訊的接口

        用VC++建立一個ATL COM AppWizard工程,服務(wù)器類型為DLL。建立工程以后,選擇new atl object,進一步選擇swaddin。如果將ATL object Wizard name 改為swobj。這樣就生成了插件和Solidworks之間進行通訊的接口Iswobj.

        4.2.4 添加對話框控件

        在對話框內(nèi)添加編輯控件10個,靜態(tài)文本控件10個,圖像控件一個,按鈕控件 2個。在 resource file選項卡的bitmap中,將活動錐套的位圖引入資源。在圖像控件的屬性中進行圖片設(shè)置。編輯控件和靜態(tài)文本控件名稱的對應關(guān)系如表1所示。

        表1 編輯控件和靜態(tài)文本控件名稱的對應關(guān)系表

        修改button1按鈕控件的標題為:“開始繪制”,進一步添加button1的響應函數(shù)。

        先在對話框的頭文件中定義 CComPtr<ISldWorks> 類型的變量m_iSldWorks_dlg1;然后在button1對應的函數(shù)中添加代碼.定義了文件名和打開文件方式以后,再定義配置管理器對象并獲得當前文件的配置管理器,關(guān)鍵代碼如下:

        void dlg8306::OnButton1()

        { ………

        CComBSTR Name(_T(m_peizhiming));//定義配置名

        pConfigurationManager->AddConfiguration(Name,Comm ent,AlternateName,0,ParentConfigName,Description,&pConfig uration);///增加一個配置

        BSTR *paramNames=new BSTR[10];///初始化參數(shù)名字符串數(shù)組

        CString a0="D1@草圖1";///定義參數(shù)名

        paramNames[0]=a0.AllocSysString();//將 參 數(shù) 名 由CString類型轉(zhuǎn)換為BSTR類型

        CString b0=m_d1.GetBuffer(0);///獲得用戶輸入的參數(shù)值

        paramValues[0]=b0.AllocSysString();///將 參 數(shù) 名 由CString類型轉(zhuǎn)換為BSTR類型pConfigurationManager->ISetConfigurationParams ( Name, paramCount, paramNames, paramValues, &retval);///設(shè)置配置中的各參數(shù)值

        ………}

        按照類似的方法,修改button2按鈕控件的標題為:“退出”,添加對應的響應函數(shù)。

        4.2.5 編譯、構(gòu)建

        編譯、構(gòu)建成DLL,加載到Solidworks里以后,當單擊用戶增加的Solidworks“活動錐套”主菜單下的“零件繪制”菜單項的時候,出現(xiàn)如圖2所示對話框:

        圖2 主控界面

        在出現(xiàn)的對話框中輸入用戶設(shè)定的數(shù)據(jù),單擊“開始繪制”按鈕,就可以自動繪制出如圖3所示的三維圖形:

        圖3 三維零件圖

        5 、結(jié)語

        本文介紹了在 Visual C++ 6.0集成開發(fā)環(huán)境下開發(fā)動態(tài)鏈接庫DLL的方法,以實現(xiàn)對SolidWorks進行二次開發(fā),完成機械零件參數(shù)化設(shè)計。實例表明 ,基于 COM技術(shù)的SolidWorks二次開發(fā)可以實現(xiàn)SolidWorks系統(tǒng)的功能擴展,操作簡單 ,能滿足用戶本地化三維CAD系統(tǒng)的需要。

        [1]王文波,等. SolidWorks二次開發(fā)基礎(chǔ)與實例[M].北京:清華大學出版社,2009.

        [2]江洪,等. SolidWorks二次開發(fā)實例解析[M].北京:機械工業(yè)出版社,2004.

        (責任編校:何俊華)

        TP399

        A

        1673-2219(2010)12-0096-03

        2010-08-25

        劉媛(1971-),女,安徽蚌埠人,合肥工業(yè)大學機械學院碩士研究生,安徽電子信息職業(yè)技術(shù)學院電子系教師,研究方向為CAD/CAE/CAM。

        猜你喜歡
        錐套二次開發(fā)插件
        一種農(nóng)機用錐套式帶輪的設(shè)計
        淺談基于Revit平臺的二次開發(fā)
        甘肅科技(2020年20期)2020-04-13 00:30:02
        基于計算流體力學的空中回收錐套氣動特性分析
        自編插件完善App Inventor與樂高機器人通信
        電子制作(2019年22期)2020-01-14 03:16:34
        淺談Mastercam后處理器的二次開發(fā)
        模具制造(2019年3期)2019-06-06 02:11:02
        西門子Easy Screen對倒棱機床界面二次開發(fā)
        增穩(wěn)錐套與軟管二級擺建模與仿真
        飛行力學(2015年3期)2015-12-28 08:38:18
        MapWindowGIS插件機制及應用
        基于Revit MEP的插件制作探討
        空中加油錐套支柱數(shù)對穩(wěn)定傘阻力系數(shù)影響研究
        飛行力學(2014年4期)2014-09-15 07:49:32
        一级午夜理论片日本中文在线| 欧美性猛交内射兽交老熟妇| 四虎永久免费影院在线| 精品999无码在线观看| av在线播放中文专区| 亚洲精品中文幕一区二区| 越猛烈欧美xx00动态图| 国产亚洲高清不卡在线观看 | 伊人狼人激情综合影院| 天天干天天日夜夜操| 国产精品成人观看视频| 人妻无码aⅴ中文系列久久免费| 男女视频网站免费精品播放| 蜜桃18禁成人午夜免费网站| 中文字幕免费不卡二区| 98在线视频噜噜噜国产| 一区二区三区在线日本| 国产综合精品久久99之一| 婷婷亚洲久悠悠色悠在线播放| 中文字幕Aⅴ人妻一区二区苍井空| 亚洲精品在线观看自拍| 2021亚洲国产精品无码| 纯爱无遮挡h肉动漫在线播放| 中国精品视频一区二区三区| 隔壁人妻欲求不满中文字幕| 18国产精品白浆在线观看免费| 亚洲人成亚洲精品| 中文亚洲AV片在线观看无码| 人妻少妇中文字幕,久久精品| 亚洲一区二区三区四区五区六| 亚洲AV无码不卡无码国产| 日本午夜一区二区视频| 少妇被猛烈进入到喷白浆| 一本一道av无码中文字幕| a级国产精品片在线观看| 国产3p一区二区三区精品| 国产精品爽爽久久久久久竹菊| 欧美一片二片午夜福利在线快| av一区二区不卡久久| 白嫩人妻少妇偷人精品| 97夜夜澡人人爽人人喊中国片|