999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2010-11-15 07:49:48
關(guān)鍵詞:二次開(kāi)發(fā)

劉 媛

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

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

劉 媛

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

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

SolidWorks;vc++;二次開(kāi)發(fā);活動(dòng)錐套

1. 引言

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

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

2. SolidWorks二次開(kāi)發(fā)簡(jiǎn)介

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

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

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

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

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

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

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

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

下面以液壓機(jī)輔具的一個(gè)活動(dòng)錐套零件為例詳細(xì)說(shuō)明設(shè)計(jì)方法和過(guò)程。

4.1 設(shè)計(jì)思想

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

4.2 設(shè)計(jì)過(guò)程

4.2.1 增加菜單和菜單項(xiàng)

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

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

4.2.2 繪制圖形

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

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

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

4.2.4 添加對(duì)話框控件

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

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

修改button1按鈕控件的標(biāo)題為:“開(kāi)始繪制”,進(jìn)一步添加button1的響應(yīng)函數(shù)。

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

void dlg8306::OnButton1()

{ ………

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

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

BSTR *paramNames=new BSTR[10];///初始化參數(shù)名字符串?dāng)?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按鈕控件的標(biāo)題為:“退出”,添加對(duì)應(yīng)的響應(yīng)函數(shù)。

4.2.5 編譯、構(gòu)建

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

圖2 主控界面

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

圖3 三維零件圖

5 、結(jié)語(yǔ)

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

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

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

(責(zé)任編校:何俊華)

TP399

A

1673-2219(2010)12-0096-03

2010-08-25

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

猜你喜歡
二次開(kāi)發(fā)
淺談基于Revit平臺(tái)的二次開(kāi)發(fā)
甘肅科技(2020年20期)2020-04-13 00:30:02
西門子Operate高級(jí)編程的旋轉(zhuǎn)坐標(biāo)系二次開(kāi)發(fā)
淺談Mastercam后處理器的二次開(kāi)發(fā)
模具制造(2019年3期)2019-06-06 02:11:02
基于C#的AutoCAD建筑構(gòu)件庫(kù)二次開(kāi)發(fā)
江西建材(2018年2期)2018-04-14 08:01:14
西門子Easy Screen對(duì)倒棱機(jī)床界面二次開(kāi)發(fā)
基于全站儀二次開(kāi)發(fā)的覆冰厚度測(cè)量與實(shí)現(xiàn)
Micaps3.2 版本二次開(kāi)發(fā)入門淺析
西藏科技(2015年12期)2015-09-26 12:13:51
基于VB的ANSYS二次開(kāi)發(fā)在變壓器抗短路性能分析中的應(yīng)用
基于CATIA的橡皮囊成形毛料展開(kāi)的二次開(kāi)發(fā)
ANSYS Workbench二次開(kāi)發(fā)在汽車穩(wěn)定桿CAE分析中的應(yīng)用
汽車零部件(2014年5期)2014-11-11 12:24:32
主站蜘蛛池模板: 国产精品一区二区不卡的视频| 中文字幕av无码不卡免费| 国产成人AV综合久久| 操操操综合网| 91偷拍一区| 亚洲福利一区二区三区| 国产亚洲欧美在线中文bt天堂| 在线欧美国产| 就去吻亚洲精品国产欧美| 99在线视频网站| 欧美成a人片在线观看| 人人看人人鲁狠狠高清| 东京热一区二区三区无码视频| 欧美翘臀一区二区三区| 免费播放毛片| 99久久精品国产麻豆婷婷| 久久国产精品电影| 久久www视频| 深爱婷婷激情网| 国产网站免费| 99草精品视频| 91福利免费视频| 青青草原国产免费av观看| 黄片一区二区三区| 天天综合天天综合| 国产精品亚洲一区二区在线观看| 在线免费观看AV| 一本综合久久| 亚洲无线观看| 四虎永久免费地址| 91黄视频在线观看| 无码精品国产dvd在线观看9久| 亚洲欧美天堂网| 亚洲国产天堂在线观看| 伊人91在线| 亚洲不卡影院| 国产成人91精品| 久久久四虎成人永久免费网站| 四虎在线高清无码| 欧美日韩久久综合| 午夜视频日本| 成人伊人色一区二区三区| 午夜精品国产自在| 久久亚洲国产视频| 真人高潮娇喘嗯啊在线观看| 视频二区亚洲精品| 中文字幕啪啪| 五月六月伊人狠狠丁香网| 久久不卡国产精品无码| 五月丁香在线视频| 国产精品无码制服丝袜| 2021国产在线视频| AV不卡国产在线观看| 亚洲综合第一区| 亚洲中文无码av永久伊人| 青青草一区| 在线中文字幕网| aa级毛片毛片免费观看久| 亚洲另类色| 亚洲欧美h| 成人午夜精品一级毛片| 在线观看国产精品一区| 久久6免费视频| 蝴蝶伊人久久中文娱乐网| 69视频国产| 久久伊人久久亚洲综合| 小说 亚洲 无码 精品| 午夜福利免费视频| 91久久天天躁狠狠躁夜夜| 日韩欧美国产成人| 欧美精品一区在线看| 波多野结衣中文字幕一区二区 | 久久天天躁狠狠躁夜夜躁| 亚洲第一视频网站| 国产亚洲视频中文字幕视频| 国产成人啪视频一区二区三区| 日日拍夜夜嗷嗷叫国产| 亚洲第一中文字幕| 99热这里只有精品在线观看| 欧美伦理一区| 亚洲国产综合精品一区| 国产美女无遮挡免费视频网站 |