面朝大海春暖花开,女厕精品toilet,中文字幕无码人妻AAA片,少妇高潮喷潮久久久影院

    會(huì)員登錄 | 免費(fèi)注冊(cè)
壓鑄模具,北侖壓鑄,北侖模具,北侖壓鑄模具  
SolidWorks二次開發(fā)的研究
來源:互聯(lián)網(wǎng)  閱讀次數(shù):9264  時(shí)間:2012-10-18  
 

三維機(jī)械設(shè)計(jì)軟件SolidWorks是一套基于Windows的CAD/CAE/CAM/PDM桌面集成系統(tǒng),是由美國(guó)SolidWorks公司在總結(jié)和繼承大型機(jī)械CAD軟件的基礎(chǔ)上,在Windows環(huán)境下實(shí)現(xiàn)的第一個(gè)機(jī)械三維CAD軟件。它為用戶提供產(chǎn)品級(jí)的自動(dòng)設(shè)計(jì)工具。SolidWorks的突出特點(diǎn)是:三維參數(shù)化特征造型,特征管理員功能,全相關(guān)的數(shù)據(jù)管理,它功能豐富、操作簡(jiǎn)單、維護(hù)方便、學(xué)習(xí)周期短、應(yīng)用開發(fā)方便,與多家CAM、CAE軟件有緊密接口。

  SolidWorks是基于特征的三維參數(shù)化造型軟件,對(duì)其進(jìn)行二次開發(fā)可以遵循參數(shù)化CAD的原則。與以往非參數(shù)化CAD系統(tǒng)相比,參數(shù)化技術(shù)很大程度上提高了二次開發(fā)的效率。SolidWorks提供了完整的免費(fèi)的二次開發(fā)工具API(ApplicationProgramming Interface應(yīng)用編程接口)。凡支持COM編程的開發(fā)工具,如Visual C++6.0(以下簡(jiǎn)稱VC++)、Visual Basic、Delphi等均可直接調(diào)用這些API函數(shù)開發(fā)出用戶自己的程序模塊,提高設(shè)計(jì)的效率與正確率。

  為了方便用戶進(jìn)行二次開發(fā),SolidWorks提供了幾百個(gè)API接口。這些API接口分為兩種,即OLE Automation的IDispatch和作為Windows基礎(chǔ)的COM(Component Object Model組件對(duì)象模型)。作為系統(tǒng)開發(fā),COM是更合適的選擇。使用Visual Basic進(jìn)行開發(fā)時(shí),只能采取外掛的工作方式,即需要在用戶的應(yīng)用程序和SolidWorks之間進(jìn)行前后臺(tái)切換,所以降低了設(shè)計(jì)效率。而COM接口支持使用VC++編程工具開發(fā)DLL(Dynamic Link Library動(dòng)態(tài)鏈接庫(kù))程序,使用VC++開發(fā)的DLL應(yīng)用程序模塊可以直接嵌入到SolidWorks內(nèi)部。加載成功后用戶程序菜單直接出現(xiàn)在SolidWorks主菜單上,如同SolidWorks自帶功能一樣進(jìn)行操作,極大地提高了設(shè)計(jì)效率。因此,本文就基于VC++闡述SolidWorks的二次開發(fā)。

  1 基于VC++6.0的So I.dWorks二次開發(fā)途徑

  1.1 使用工程向?qū)wizard.awx進(jìn)行二次開發(fā)

  首先,從SolidWorks公司的網(wǎng)站下載編程向?qū)募wizard.awx,將其拷貝至Microsoft Visual Studio\CommonhMSDev98\Template目錄下,把\SolidWorks\samples\appcomm文件夾下所有文件拷貝至lJkMicrosoft Visual Studio\VC98klnclude文件夾內(nèi)。然后,在VC++中應(yīng)用向?qū)?chuàng)建動(dòng)態(tài)鏈接庫(kù)工程(以下簡(jiǎn)稱DLL),加人相關(guān)代碼,編譯生成動(dòng)態(tài)鏈接庫(kù)(*.DLL)文件。用戶二次開發(fā)的應(yīng)用程序,可直接掛在SolidWorks的菜單下,形成統(tǒng)一的界面。一般而言,開發(fā)人員首先需要在SolidWorks的界面上添加自己的菜單項(xiàng),以此作為激活用戶程序的接口,完成與用戶的數(shù)據(jù)交換。在上述過程中,用戶程序必須響應(yīng)SolidWorks的一些消息通知,以保證各個(gè)操作的合法性,即要檢測(cè)文檔類型等。最后,連接DLL,將必要的用戶程序輸出。

  使用這種方法進(jìn)行二次開發(fā)簡(jiǎn)單易行,容易理解,避免了安裝和使用中的困惑。

  1.2 使用ATL(c/c++)對(duì)象向?qū)нM(jìn)行二次開發(fā)

  首先從SolidWorks公司的網(wǎng)站下載SolidWorksAPI SDK,將其解壓縮并根據(jù)向?qū)О惭bSolidWorks API SDK,然后在Visual C++中選擇ATL COM Wizard創(chuàng)建動(dòng)態(tài)鏈接庫(kù),加人相關(guān)代碼,編譯生成動(dòng)態(tài)鏈接庫(kù)(*.DLL)文件。此方式可在SolidWorks插件管理器中生成插件,并以菜單形式自動(dòng)添加在新建或打開的零件視圖中,以完成特定功能。

  此方式適合于SolidWorks的中級(jí)使用者,可使用戶方便地以插件的形式將菜單嵌人SolidWorks主菜單中,簡(jiǎn)捷易行,但有一點(diǎn)值得注意,該向?qū)傻?.dll,只能用于SolidWbrks 2003。

  1.3 自定義向?qū)Ш陀矛F(xiàn)有的實(shí)例進(jìn)行二次開發(fā)

  首先啟動(dòng)VC++,選擇Custom AppWizard尋找現(xiàn)成的文件以生成新的工程。如果不想用向?qū)В苯有薷默F(xiàn)有的實(shí)例也是一種方法。使用此種方法可在SolidWorks的菜單欄中出現(xiàn)新下拉菜單用以完成用戶新添加的功能。這種方法適合于對(duì)SolidWorksAPI熟悉的用戶,可以通過找一些現(xiàn)成的文件,更加靈活地使用自定義的模板進(jìn)行二次開發(fā)。

  2 SolidWorks二次開發(fā)過程

  這里以擠壓模墊套(如圖l所示)的參數(shù)化建模的二次開發(fā)為例,詳細(xì)介紹SolidWorks二次開發(fā)的過程,圖2為開發(fā)程序的主控頁面。具體步驟如下。

  1)安裝VC++并配置開發(fā)環(huán)境 利用SolidWorks提供的二次開發(fā)模板創(chuàng)建工程。為確保包含必要的頭文件,完全按照第一種方法配置卡發(fā)環(huán)境。

  2)繪制零件模板 模板零件的創(chuàng)建方法與一般三維模型的建模方式相同,但注意以下幾點(diǎn):

  (1)在對(duì)模板進(jìn)行特征造型時(shí),對(duì)二維截面輪廓,利用尺寸標(biāo)注和施加相切、共線等關(guān)系實(shí)現(xiàn)對(duì)幾何圖形的全約束;

  (2)正確設(shè)置控制三維模型的設(shè)計(jì)參數(shù)。尺寸參數(shù)可分為兩種:一是與其它參數(shù)無關(guān)的獨(dú)立參數(shù);另一種是與其它參數(shù)有關(guān)的非獨(dú)立參數(shù)。前者主要用來控制三維模型的幾何尺寸和拓?fù)潢P(guān)系,后者可以用獨(dú)立參數(shù)為自變量的關(guān)系式表示;

  (3) 正確建立設(shè)計(jì)參數(shù)與三維模型尺寸變量之間的關(guān)聯(lián)。主要有兩種方法:一是在創(chuàng)建模型模板需要輸入數(shù)值時(shí),直接輸入?yún)?shù)名。二是利用SolidWorks的關(guān)系式功能創(chuàng)建新的關(guān)系式,使系統(tǒng)自動(dòng)創(chuàng)建的約束參數(shù)名與設(shè)計(jì)參數(shù)關(guān)聯(lián)。

  3)VC++編程步驟

  (1)利用SolidWorks提供的開發(fā)模板創(chuàng)建工程SWSD為工程名稱

  (2) 在CLASSVIEW中分別為CSWSDAPP的成員函數(shù)docCreateMenu,docRemoveMenu添加代碼實(shí)現(xiàn)為系統(tǒng)添加菜單:

  //自定義菜單的插入位置

  #define swMenuPosition 5

  //添加頂層彈出式菜單[SWSD]

  hres=pFrame->AddMenu(auT("SWSD(&G))"),

  swMenuPosition,&bres);

  //添加[SWSD]的下一級(jí)菜[墊套]

  hres=pFrame->AddMenultem(auT("SWSD(&G)"),

  auT("墊套($D)..."),swLastPosition,

  auT("SWSD@MyFunction"{),&bres);

  (3)點(diǎn)擊FILEVIEW在SWSD.def文件里聲明導(dǎo)出函數(shù)。DLL中包含一個(gè)導(dǎo)出函數(shù)表,通過函數(shù)的符號(hào)化的名字或序號(hào)(可選)識(shí)別這些函數(shù)。函數(shù)表也包含了函數(shù)在DLL內(nèi)的地址。當(dāng)SolidWorks首先加載DLL時(shí),它并不知道將要調(diào)用函數(shù)的地址,但知道符號(hào)名和序號(hào)。動(dòng)態(tài)連接過程后,在DLL中建立一張客戶調(diào)用與函數(shù)地址的表把SolidWorks的調(diào)用與DLL中函數(shù)的地址連接起來;

  (4)在SWSD.h中對(duì)導(dǎo)出函數(shù)聲明;

  (5)在SWSD.cpp文件里添加導(dǎo)出函數(shù)的函數(shù)體,這個(gè)函數(shù)就是用戶開發(fā)的菜單所調(diào)用的執(zhí)行函數(shù),在這個(gè)導(dǎo)出函數(shù)里添加具體的代碼可以實(shí)現(xiàn)開發(fā)人員需要程序執(zhí)行的功能。

  4)編譯 由于SolidWorks不再支持加載調(diào)試軟件版本,因此,用戶不能用"Win32 Debug"或"Win32 MBCS Debug"調(diào)試模式。為了調(diào)試代碼,用戶必須使用"Pseudo Debug"調(diào)試模式。此模式需要鏈接適當(dāng)?shù)腗FC Release庫(kù),否則SolidWorks運(yùn)行時(shí)可能會(huì)和己加載的MFC庫(kù)發(fā)生資源沖突。

  5)應(yīng)用程序的運(yùn)行 如果應(yīng)用程序是以DLL方式建立,則運(yùn)行步驟如下:運(yùn)行SolidWorks程序,選擇File.Open并且改變打開文件類型到ADD.Ins(.DLL)。選取預(yù)定的DLL并單擊OK,則用戶的應(yīng)用程序加入到SolidWorks。

  在VC++調(diào)試模式下運(yùn)行SolidWorks進(jìn)行代碼的調(diào)試:在用戶的VC++開發(fā)環(huán)境中,選擇GO編譯。在彈出的對(duì)話框中鍵入SolidWorks.EXE及其路徑名。一旦SolidWorks運(yùn)行選擇File.Open并且改變打開文件類型到ADD.Ins(.DLL),選擇要調(diào)試的DLL文件并單擊OK,則用戶的應(yīng)用程序加入到SolidWorks。

  6)注冊(cè) 有兩種方式可以把用戶開發(fā)的模塊添加到注冊(cè)表里面,使SolidWbrks可以自動(dòng)的找到二次開發(fā)的模塊:

  (1)在VC++開發(fā)環(huán)境中,使用利用SolidWorks提供的二次開發(fā)模板創(chuàng)建工程,VC++提示是不是把這個(gè)工程添加到注冊(cè)表里的時(shí)候,選擇"是"。

  (2)當(dāng)更換系統(tǒng)或者在其他計(jì)算機(jī)中安裝開發(fā)的新模塊時(shí),可以在工程文件夾內(nèi)找到*.reg的一個(gè)注冊(cè)表文件,雙擊就可把這個(gè)模塊信息寫入注冊(cè)表。

  3 結(jié)語

  介紹了在Visual C++6.0的集成開發(fā)環(huán)境下,通過動(dòng)態(tài)鏈接庫(kù)DLL調(diào)用SolidWorks API函數(shù)進(jìn)行二次開發(fā),實(shí)現(xiàn)機(jī)械零件參數(shù)化設(shè)計(jì)的方法??梢詤⒖荚摲椒▽?duì)SolidWorks進(jìn)行其他較為復(fù)雜的二次開發(fā)工作,建立適合用戶需要的、專用的SolidWbrks功能模塊。通過實(shí)例表明,基于DLL的SolidWbrks二次開發(fā)可以很好地實(shí)現(xiàn)與Solidwbrks系統(tǒng)的無縫集成,能滿足用戶開發(fā)三維CAD系統(tǒng)的需要。 

 
會(huì)員推薦
 
本站部分信息由企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性及合法性,模具壓鑄網(wǎng)對(duì)此不承擔(dān)任何保證責(zé)任
主辦單位:易模網(wǎng)絡(luò)   技術(shù)支持:易模網(wǎng)絡(luò) 本站法律顧問:馮輝律師 QQ16227216
Copyright © 2005-2025 ※壓鑄模具網(wǎng)※ Inc All Rights Reserved.
客戶服務(wù)熱線:0574-86865909      郵箱:lh6m@163.com     備案號(hào):浙ICP備13030037號(hào)-4
  浙公網(wǎng)安備33020602000967
壓鑄模具,北侖壓鑄,北侖模具,北侖壓鑄模具

模具報(bào)價(jià)微信掃一掃

X關(guān)閉
主站蜘蛛池模板: 宜兴市| 汾阳市| 苍山县| 察雅县| 寻甸| 大同县| 琼海市| 巴彦淖尔市| 涟水县| 墨脱县| 湖州市| 兴业县| 娄烦县| 奈曼旗| 原阳县| 昆明市| 大化| 和顺县| 舟山市| 容城县| 吉林市| 福建省| 株洲县| 余江县| 安丘市| 安福县| 新安县| 邵阳县| 金坛市| 桃园市| 庆阳市| 昌宁县| 浦东新区| 安仁县| 桦南县| 赣榆县| 关岭| 延庆县| 宜兰市| 呈贡县| 南昌县|