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

基于SolidWorks的零件參數(shù)化設(shè)計

2014-04-29 00:44:03王宣董玉德
關(guān)鍵詞:二次開發(fā)數(shù)據(jù)庫模型

王宣 董玉德

摘要:參數(shù)化設(shè)計系統(tǒng)的二次開發(fā)是企業(yè)深化CAD應(yīng)用,提升產(chǎn)品研發(fā)效率的潮流,本文結(jié)合實例研究探討了采用VC++編程工具對SolidWorks零件進行二次開發(fā)實現(xiàn)參數(shù)化設(shè)計的方法,對開發(fā)專用零件參數(shù)化設(shè)計系統(tǒng)具有一定的參考價值。

關(guān)鍵詞:SolidWorks;參數(shù)化設(shè)計;二次開發(fā);VC++6.0

中圖分類號:TP391.72 文獻標識碼:A 文章編號:1672-4437(2014)02-0047-04

1 引言

參數(shù)化設(shè)計可以減少設(shè)計人員的大量重復性工作,明顯提高設(shè)計效率,所以對三維軟件進行二次開發(fā),開發(fā)出企業(yè)專用的產(chǎn)品參數(shù)化設(shè)計功能模塊,已成為企業(yè)界深化CAD應(yīng)用,進一步提高產(chǎn)品研發(fā)效率的發(fā)展趨勢。SolidWorks作為目前主流三維CAD軟件之一,不僅具有功能強大、易學易用和技術(shù)創(chuàng)新的特色,而且SolidWorks還提供了開發(fā)性和兼容性良好的應(yīng)用程序開發(fā)接口 (SolidWorks API),凡是支持OLE和COM的編程語言如Visual C++、Visual Basic、Delphi等均可用于SolidWorks的二次開發(fā)【1】。

VC++6.0是當今流行的軟件開發(fā)工具之一,是程序員的首選編程利器。使用VC++6.0對SolidWorks進行二次開發(fā),能夠充分利用SolidWorks API,而且開發(fā)出的DLL應(yīng)用程序作為插件直接嵌入到SolidWorks內(nèi)部,加載成功后專用系統(tǒng)菜單直接出現(xiàn)在SolidWorks主菜單上,如SolidWorks原有菜單一樣操作方便,極大地提高了設(shè)計效率。

2 二次開發(fā)方法

在SolidWorks中,用二次開發(fā)實現(xiàn)零件的參數(shù)化設(shè)計主要有程序驅(qū)動和尺寸驅(qū)動兩種方法【2】,尺寸驅(qū)動法需要先建立參數(shù)化模板模型,然后在開發(fā)程序控制下,通過讀取不同的尺寸參數(shù)值,驅(qū)動模板模型改變, 實現(xiàn)參數(shù)化設(shè)計;而程序驅(qū)動法是在開發(fā)程序控制下,自動建立不同的模型,完成參數(shù)化設(shè)計。尺寸驅(qū)基金項目:廣東省教育部產(chǎn)學研結(jié)合項目(編號:2011B090400598)動法程序代碼簡潔高效,是目前參數(shù)化設(shè)計較常用的方法,本實例就選用這種方法,開發(fā)出的零件參數(shù)化設(shè)計流程如圖1所示。

圖1 零件參數(shù)化設(shè)計流程圖

3 二次開發(fā)實例

下面以一個簡單的支板零件為例,詳細說明參數(shù)化設(shè)計二次開發(fā)方法。

3.1 建立零件模板的三維模型

參數(shù)化建模是以約束來表達產(chǎn)品模型的形狀特征,通過定義一組參數(shù)來控制設(shè)計結(jié)果,實現(xiàn)通過調(diào)整參數(shù)來修改設(shè)計模型,從而達到設(shè)計一簇在形狀或功能上具有相似性的零件的設(shè)計方案。目前,參數(shù)化建模可分為基于尺寸驅(qū)動的參數(shù)化建模、基于約束驅(qū)動的參數(shù)化建模、基于特征的參數(shù)化建模三種方法【3】。基于尺寸驅(qū)動的參數(shù)化建模,是指通過修改模型的幾何尺寸,達到改變模型形狀的目的,它是目前最基本的應(yīng)用最為廣泛的建模方法,本文零件模板就是采用這種三維建模的方法。

在So1idWorks中建立零件模板的三維模型時,最好重命名模型驅(qū)動尺寸使之與參數(shù)尺寸名稱一致,便于程序識別。圖2所示文件名為“支板.SLDPRT"的三維模型,將其保存在“D:\參數(shù)化設(shè)計\模板模型\”下,以備調(diào)用。

圖2 支板模板模型圖

3.2 建立零件尺寸參數(shù)數(shù)據(jù)表

為了方便快捷通過參數(shù)化設(shè)計生成相似零件, 需要將參數(shù)數(shù)據(jù)存儲在數(shù)據(jù)庫中, 目前可供選擇的數(shù)據(jù)庫很多【4】。 其中Access 簡單易用, 接口靈活,完全滿足零件參數(shù)化設(shè)計對數(shù)據(jù)管理的要求, 因此常選用Access作為管理數(shù)據(jù)的工具,本實例就是采用Access建立尺寸參數(shù)數(shù)據(jù)庫的。

在Access中創(chuàng)建數(shù)據(jù)庫“zz.mdb”,在庫中建立支板尺寸參數(shù)數(shù)據(jù)表,如圖3所示,保存路徑為“D:\參數(shù)化設(shè)計\數(shù)據(jù)庫\零件庫\ zz.mdb”。

圖3 支板尺寸參數(shù)數(shù)據(jù)表

3.3 二次開發(fā)編程

(1)創(chuàng)建新的ATL工程并添加ATL對象

在Visual C++6.0環(huán)境中,使用ATL COM AppWizard對象向?qū)ЫLL工程,自定義名稱為zz,然后在工程中添加新的ATL對象,在新對象屬性對話框中添加ATL對象名稱zzp,向?qū)ё詣由山涌贗zzp,該接口是所開發(fā)的參數(shù)化設(shè)計插件與SolidWorks的通信接口,接下來通過添加代碼來實現(xiàn)本插件所要具備的功能。

(2)添加菜單和菜單項

在工程資源的String Table(字串表)中定制菜單資源,如圖4所示

圖4 菜單項String Table設(shè)置

其中“零件庫@參數(shù)化設(shè)計”表示:“參數(shù)化設(shè)計”是添加到So1idWorks界面的菜單名稱,零件庫是該下拉菜單的菜單項。

(3)創(chuàng)建用戶操作界面

首先用對話框資源編輯器創(chuàng)建支板對話框模板資源,然后利用類向?qū)lass Wizard添加對話框類zbandlg,并向?qū)υ捒蝾愔刑砑酉⑻幚砗瘮?shù)、成員變量等,向?qū)ё詣由稍搶υ捒蝾惖膠bandlg.h和zbandlg.cpp文件 ;最后聲明對話框類的對象以便激活打開對話框,添加的主要代碼如下:

void seconddlg::getSW(ISldWorks *Sw) //添加連接對話框與SldWorks對象的方法

{

this->m_iSldWorks_dlg = Sw;

}

CComPtr m_iSldWorks_dlg; //添加對話框成員變量

zbandlg *pdlg=new zbandlg; //新命名對話框

pdlg->Create(IDD_zban,NULL); //生成對話框

pdlg->ShowWindow(SW_SHOW); //將對話框設(shè)置為可見

pdlg->getSW(this->m_iSldWorks_dlg); //調(diào)用對話框的Get SW函數(shù)

ShowWindow(SW_HIDE);//顯示對話框

(4)訪問數(shù)據(jù)庫

將已建立的支板尺寸參數(shù)數(shù)據(jù)表載入支板零件操作界面的列表框中,主要實現(xiàn)步驟是:

1)在工程的StdAfx.h文件里引入ADO庫文件, 添加代碼如下:

#import "C:\Program Files\Common Files\SYSTEM\ADO\msado15.dll" no_namespace rename("EOF", "adoEOF") rename("Parameter","adoParameter")

msado15.dll動態(tài)鏈接庫中定義了ADO接口對象。

2)連接數(shù)據(jù)庫獲取數(shù)據(jù)表

一般使用函數(shù)open或使用UDL文件連接數(shù)據(jù)庫。因為采用udl文件建立連接后,當數(shù)據(jù)源改變后,只需雙擊相應(yīng)的udl文件打開屬性對話框重置數(shù)據(jù)源即可,不用更改軟件編制的程序,所以本實例選用此方法,建立的1.udl文件如圖5所示。

在zbandlg.h和zbandlg.cpp文件中添加的主要代碼是:

_ConnectionPtr m_pConnection; //添加數(shù)據(jù)庫連接對象變量

_RecordsetPtr m_pRecordset; //添加數(shù)據(jù)庫記錄集變量

m_pConnection->ConnectionString="File Name=D:\\參數(shù)化設(shè)計\\數(shù)據(jù)庫\\1.udl";

//連接zz.mdb數(shù)據(jù)庫

m_pRecordset->Open("SELECT * FROM zban "…), // 獲取支板零件的尺寸參數(shù)數(shù)據(jù)表

圖5 udl文件建立圖

(5)參數(shù)尺寸驅(qū)動模板模型改變,生成新零件

1)將支板零件操作界面列表框內(nèi)的一行數(shù)據(jù),賦值給對話框中的編輯框,獲得驅(qū)動尺寸參數(shù)。主要代碼是:

Void zbandlg::OnDblclkList1(NMHDR* pNMHDR, LRESULT* pResult) // 添加雙擊列表框響應(yīng)事件函數(shù)

ListView_SetExtendedListViewStyleEx(m_List.m_hWnd,LVS_EX_FULLROWSELECT,0xFFFFFFFF);//選擇某行

if(nItem>=0 && nItem

CString str = m_List.GetItemText(nItem,subItem);//得到某行某列的值

2)點擊支板零件操作界面上的“三維圖”按鈕,實現(xiàn)調(diào)入零件模板模型,參數(shù)尺寸驅(qū)動,生成新零件。主要代碼是:

void zhizdlg::OnButton1()//添加單擊“三維圖”按鈕響應(yīng)事件函數(shù)

CComBSTR fileName(_T("D:\\參數(shù)化設(shè)計\\模板模型\\支板.SLDPRT"));//定義文件名

CComPtr m_iModelDoc;//定義ModelDoc對象

m_iSldWorks_dlg->OpenDoc6(fileName,swDocPART,Options,NULL,&Errors,&Warnings,&m_iModelDoc);//打開文件

........................................

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

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

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

paramValues[0]=b0.AllocSysString();//將參數(shù)值CString類型變量轉(zhuǎn)換為BSTR類型變量

pConfigurationManager->ISetConfigurationParams ( Name, paramCount, paramNames, paramValues, &retval);//設(shè)置配置中的各參數(shù)值,生成新零件

3.4 編譯鏈接, 生成.dll文件,加載插件

在SolidWorks中,通過點擊菜單“工具/插件”,打開插件對話框,選擇zz插件完成加載;也可點擊菜單“文件/打開”,選擇文件類型Add-Ins, 打開zz.dll實現(xiàn)加載。

3.5 運行實例

打開SolidWorks菜單欄里“參數(shù)化設(shè)計”下拉菜單,選擇“零件庫”選項,打開“零件庫”

圖6 打開支板零件操作界面圖

圖7 支板三維圖

對話框,再點擊“支板”按鈕,打開“支板”用戶操作界面,如圖6所示,雙擊列表框“系列號”是“ZBAN4”的一行數(shù)據(jù),編輯框內(nèi)出現(xiàn)相應(yīng)尺寸參數(shù),也可手動輸入尺寸參數(shù),單擊“三維圖”按鈕,生成新的三維模型,如圖7所示。

4 結(jié)束語

在SolidWorks軟件環(huán)境下,利用VC++6.0編程語言開發(fā)出零件庫參數(shù)化設(shè)計系統(tǒng),探討了參數(shù)化設(shè)計插件的開發(fā)過程和使用方法,對SolidWorks軟件的二次開發(fā)研究和實踐工作具有一定的參考價值。

——————

參考文獻

[1] 董玉德,趙韓.CAD二次開發(fā)理論與技術(shù)[M].合肥:合肥工業(yè)大學出版社,2009:7-11.

[2] 王東,蒲小瓊.基于SolidWorks的機械零件參數(shù)化設(shè)計[J].機械制造與研究,2004,33(5):15-17.

[3] 陳璐.基于SolidWorks的參數(shù)化建模[J].CAD/CAM與制造業(yè)信息化,2007,(2-3):72-73.

[4] 陳岳坪,高健,王虎奇.基于ATL技術(shù)的SolidWorks二次開發(fā)新方法[J].模具工業(yè),2009,35(6):5-7.

猜你喜歡
二次開發(fā)數(shù)據(jù)庫模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
淺談基于Revit平臺的二次開發(fā)
甘肅科技(2020年20期)2020-04-13 00:30:02
淺談Mastercam后處理器的二次開發(fā)
模具制造(2019年3期)2019-06-06 02:11:02
西門子Easy Screen對倒棱機床界面二次開發(fā)
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
3D打印中的模型分割與打包
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 嫩草国产在线| jizz国产视频| 精久久久久无码区中文字幕| 国产精品妖精视频| 国产成人禁片在线观看| 色国产视频| 色婷婷综合在线| 欧美精品一区二区三区中文字幕| 中文字幕自拍偷拍| 亚洲国产精品无码AV| 亚洲AV永久无码精品古装片| 国产不卡一级毛片视频| 国产91小视频| 曰韩人妻一区二区三区| 最新加勒比隔壁人妻| 日本不卡视频在线| 人妻丰满熟妇av五码区| 亚洲AV无码久久天堂| 中文无码精品A∨在线观看不卡 | 久久亚洲天堂| 久久这里只有精品国产99| 99精品欧美一区| 在线观看国产精品第一区免费| 亚洲欧美另类日本| 成人a免费α片在线视频网站| 国产黄网永久免费| 国产成人欧美| 色男人的天堂久久综合| 亚洲免费成人网| 午夜视频日本| 伊人激情综合网| av午夜福利一片免费看| 小说 亚洲 无码 精品| 国产日韩精品欧美一区喷| 亚洲码一区二区三区| 国产欧美日韩视频怡春院| 亚洲AV无码精品无码久久蜜桃| 岛国精品一区免费视频在线观看| 亚洲成A人V欧美综合| 亚洲一区二区约美女探花| 国产91线观看| 亚洲成人黄色在线| 精品人妻无码中字系列| 亚洲IV视频免费在线光看| 91外围女在线观看| 国产一级小视频| 国产精品视频第一专区| 国产黄网站在线观看| 98精品全国免费观看视频| 亚洲色精品国产一区二区三区| 国产网友愉拍精品视频| 欧美激情二区三区| 在线精品欧美日韩| 国产剧情国内精品原创| 久久久久人妻精品一区三寸蜜桃| 国产亚洲精品精品精品| 青青操视频免费观看| 国产福利免费在线观看 | 毛片手机在线看| 国产精品九九视频| 欧美一级大片在线观看| av性天堂网| 第一区免费在线观看| 欧美日韩国产在线观看一区二区三区| 成年女人18毛片毛片免费| 久久伊人久久亚洲综合| 亚洲V日韩V无码一区二区| 成人年鲁鲁在线观看视频| 色成人亚洲| 91免费观看视频| 韩日免费小视频| 日本精品中文字幕在线不卡| 黄色在线网| 亚洲天堂免费在线视频| 2018日日摸夜夜添狠狠躁| 91毛片网| 亚洲天堂网在线播放| 亚洲综合亚洲国产尤物| 日本伊人色综合网| 亚洲日本一本dvd高清| 性欧美在线| 凹凸国产熟女精品视频|