基于SolidWorks二次開(kāi)發(fā)的自動(dòng)建模技術(shù)與方法

2013-08-05  by:廣州Solidworks培訓(xùn)中心  來(lái)源:仿真在線

基于SolidWorks二次開(kāi)發(fā)的自動(dòng)建模技術(shù)與方法

 

1 引言

    SolidWorks軟件是基于Windows開(kāi)發(fā)的三維CAD系統(tǒng),經(jīng)過(guò)十幾年的發(fā)展現(xiàn)在已經(jīng)成為了一套包括CAD/CAE/CAM/PDM的桌面集成系統(tǒng)。在強(qiáng)大的設(shè)計(jì)功能和易學(xué)易用的操作協(xié)同下,SolidWorks設(shè)計(jì)是可編輯的,零件設(shè)計(jì)、裝配設(shè)計(jì)和工程圖之間的是傘相關(guān)的。但SolidWorks建模過(guò)程中,零件二維草圖無(wú)法類(lèi)似AutoCAD那樣能將圖形從一張圖紙復(fù)制到另外一張圖紙,也無(wú)法類(lèi)似proe可以將草圖直接導(dǎo)出建模,致使工程師們對(duì)于開(kāi)發(fā)同一系列化產(chǎn)品時(shí)需要做許多重復(fù)的工作,進(jìn)而延長(zhǎng)了產(chǎn)品開(kāi)發(fā)周期。怎樣實(shí)現(xiàn)產(chǎn)品公共零件模型系列化的建證?這也成為企業(yè)技術(shù)部門(mén)需要考慮的問(wèn)題。

 

2 SolidWorks軟件自動(dòng)化建模技術(shù)

    基于SolidWorks平臺(tái)二次開(kāi)發(fā)的自動(dòng)建模技術(shù)主要涉及技術(shù)有SolidWorks參數(shù)驅(qū)動(dòng)技術(shù)、基于SolidWorks 的ActiveX Automation技術(shù)、數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)。 

3 ActiveX Automation技術(shù)

    SolidWorks API是基于ActiveX Automation技術(shù)的編程接口,它是基于COM和OLE的技術(shù)標(biāo)準(zhǔn)。ActiveX是OLE在網(wǎng)絡(luò)上的擴(kuò)展,它是一組可擴(kuò)充應(yīng)用程序協(xié)議,使SolidWorks應(yīng)用程序之間能夠通過(guò)數(shù)據(jù)嵌入或鏈接的方式來(lái)共享尺寸參數(shù)數(shù)據(jù)。其宗旨是在Windows系統(tǒng)的統(tǒng)一管理下,來(lái)協(xié)調(diào)并且控制不同設(shè)備上的SolidWorks應(yīng)用程序的相互通信問(wèn)題。符合標(biāo)準(zhǔn)的SolidWorks程序會(huì)把其內(nèi)置的對(duì)象體系結(jié)構(gòu)顯露出來(lái),從而通過(guò)改變其對(duì)象的屬性就可以實(shí)現(xiàn)跨越程序操作的設(shè)想?;谠撛?可以將含有嵌入或者鏈接文檔數(shù)據(jù)的應(yīng)用程序稱(chēng)為容器程序,提供文檔數(shù)據(jù)編輯的應(yīng)用程序則稱(chēng)為服務(wù)程序。對(duì)于基于SolidWorks的二次開(kāi)發(fā)就可以將SolidWorks理解為一個(gè)服務(wù)程序(Server),而二次開(kāi)發(fā)手段開(kāi)發(fā)出來(lái)的程序?yàn)榭蛻舫绦?Client)。用戶只要在客戶程序上進(jìn)行操作,客戶程序?qū)Ⅱ?qū)動(dòng)SolidWorks完成相關(guān)的工作。

4 SolidWorks API對(duì)象層次結(jié)構(gòu)

    為了方便用戶進(jìn)行二次開(kāi)發(fā),SolidWorks提供了幾百個(gè)API函數(shù),用戶可以使用Visual Basic、VBA、Visual C++、C#、Delphi等高級(jí)編程語(yǔ)言對(duì)SolidWorks進(jìn)行二次開(kāi)發(fā),建立適合用戶需要的、專(zhuān)用的SolidWorks功能模塊。同時(shí),由于SolidWorks API及其有關(guān)幫助文檔都包括在SolidWorks軟件中,任何用戶都可以對(duì)其進(jìn)行二次開(kāi)發(fā)。不管是采用Visual Basic、VBA、Visual C++還是Delphi對(duì)SolidWorks進(jìn)行二次開(kāi)發(fā),都是通過(guò)SolidWorks的對(duì)象體系結(jié)構(gòu)來(lái)進(jìn)行的。這種基于ActiveX Automation技術(shù)的SolidWorks API將各種功能封裝在SolidWorks對(duì)象之中供編程調(diào)用。顯示了SolidWorks API中各個(gè)對(duì)象相互關(guān)系,可以利用這張表的關(guān)系進(jìn)行參考編程。 

5 基于ADO的參數(shù)數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)

    SolidWorks以VB為開(kāi)發(fā)平臺(tái)支持三種數(shù)據(jù)訪問(wèn)技術(shù),即數(shù)據(jù)訪問(wèn)對(duì)象DAO技術(shù)、遠(yuǎn)程數(shù)據(jù)對(duì)象RDO技術(shù)和ActiveX數(shù)據(jù)對(duì)象ADO技術(shù)。其中ADO技術(shù)是通過(guò)ADO對(duì)象的屬性、方法來(lái)完成相應(yīng)的數(shù)據(jù)庫(kù)訪問(wèn)?;赩B的ADO數(shù)據(jù)控件是ActiveX外部控件,它的用途及外形都和Data控件相似,但它是通過(guò)Microsoft ActiveX數(shù)據(jù)對(duì)象(ADO)來(lái)建立對(duì)數(shù)據(jù)源的連接,凡是符合OLEDB規(guī)范的數(shù)據(jù)源都能連接,而ADO能訪問(wèn)的數(shù)據(jù)庫(kù)有ODBC、Access、SQL Server、Oracle等,VB直接支持的數(shù)據(jù)庫(kù)是Access。同時(shí)ADO數(shù)據(jù)控件可以通過(guò)修改屬性來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)源的連接。創(chuàng)建連接時(shí),可以采用下列連接方式之一:一個(gè)連接字符串,一個(gè)OLEDB文件(MDL)。一個(gè)Access數(shù)據(jù)源名稱(chēng)。ADO訪問(wèn)技術(shù)實(shí)現(xiàn)SolidWorks尺寸參數(shù)數(shù)據(jù)庫(kù)訪問(wèn)模型。

通過(guò)使用ADO數(shù)據(jù)控件和DataGrid數(shù)據(jù)網(wǎng)格控件連接由Access創(chuàng)建的尺寸參數(shù)數(shù)據(jù)庫(kù)文件,并能濕示數(shù)據(jù)表,連接DataGrid數(shù)據(jù)網(wǎng)格控件用戶可以很方便地選取一組尺寸參數(shù)數(shù)據(jù)或者通過(guò)點(diǎn)擊ADO數(shù)據(jù)控件來(lái)選取設(shè)計(jì)參數(shù)。ADO對(duì)象模型定義了一個(gè)可編程的分層對(duì)象集合,主要由三個(gè)對(duì)象成員Connection、Command和RecordSet對(duì)象,以及幾個(gè)集合對(duì)象Errors、Parameters和Fields等所組成。只需要修改屬性窗口,更改控件的數(shù)據(jù)連接參數(shù)就能完成數(shù)據(jù)連接與數(shù)據(jù)訪問(wèn),無(wú)須更改控件的任何其他屬性。這些參數(shù)設(shè)置被隱藏在VB中,用戶無(wú)需再對(duì)其增加代碼。ADO處理數(shù)據(jù)庫(kù)的步驟:


    (1)創(chuàng)建數(shù)據(jù)庫(kù)連接對(duì)象;

    (2)使用連接對(duì)象打開(kāi)數(shù)據(jù)庫(kù);

    (3)操作數(shù)據(jù)庫(kù);

    (4)關(guān)閉數(shù)據(jù)庫(kù)。

 

6 參數(shù)化尺寸驅(qū)動(dòng)技術(shù)

    SolidWorks系統(tǒng)開(kāi)發(fā)的核心是圖形的處理。目前廣泛使用的圖形處理方法有編碼法、參數(shù)化尺寸驅(qū)動(dòng)法和基于工程數(shù)據(jù)庫(kù)建立圖形庫(kù)。參數(shù)化繪圖,就是將圖形的尺寸與一定的設(shè)計(jì)條件(或約束條件)相關(guān)聯(lián),將圖形的尺寸看成是“設(shè)計(jì)條件”的函數(shù),當(dāng)設(shè)計(jì)條件發(fā)生變化時(shí),圖形尺寸便會(huì)隨之得到相應(yīng)更新。建立的尺寸參數(shù)庫(kù)中參數(shù)傳遞圖。

 

7 自動(dòng)建模技術(shù)應(yīng)用實(shí)例

    本文采用的實(shí)例模型為固定球閥10-1500的閥座。閥座自動(dòng)建模方法實(shí)現(xiàn)的具體步驟:

    (1)建立尺寸參數(shù)庫(kù)數(shù)據(jù)表

    利用Access數(shù)據(jù)庫(kù)軟件提供的創(chuàng)建數(shù)據(jù)表向?qū)У墓δ?創(chuàng)建Access尺寸參數(shù)數(shù)據(jù)表。

    (2)設(shè)計(jì)閥座參數(shù)化設(shè)計(jì)對(duì)話框界面

    運(yùn)用VB開(kāi)發(fā)平臺(tái)提供的控件創(chuàng)建設(shè)計(jì)界面??紤]到程序的存在形式既可以是以可執(zhí)行程序(*.EXE)形式獨(dú)立存在,也可以是通過(guò)VB環(huán)境創(chuàng)建ActiveX DLL文件,同時(shí)也能創(chuàng)建自定義菜單和SolidWorks工具條和工具條命令按鈕,根據(jù)建立好的DLL生成SolidWorks插件,方便用戶操作。

(3)編寫(xiě)基于VB的閥座自動(dòng)建模對(duì)話框代碼


    在用VB編寫(xiě)閥座參數(shù)化設(shè)計(jì)對(duì)話框的程序代碼過(guò)程中,SolidWorks API接口函數(shù)中的參數(shù)采用尺寸參數(shù)代替尺寸數(shù)據(jù)的方式,結(jié)合SolidWorks API對(duì)象的層次結(jié)構(gòu)關(guān)系,并利用SolidWorks平臺(tái)的尺寸參數(shù)驅(qū)動(dòng)技術(shù)。


    例如:Part.CreateLine20,(D1-D4)/2,0,B1-B2,(D1-D4),2,0,繪制直線就必須用到CreateLine2對(duì)象,它的隸屬關(guān)系如Sldworks.Modeldoc2.Create_Line2,只有當(dāng)前面兩個(gè)對(duì)象都定義了才能成功地調(diào)用CreateLine2對(duì)象,另外還必須設(shè)定該對(duì)象的六位參數(shù),它是直線的起點(diǎn)和終點(diǎn)空間位置坐標(biāo),最終實(shí)現(xiàn)繪制直線的功能。其他代碼可以參考SolidWorks API的幫助文檔所提供的函數(shù)說(shuō)明來(lái)編寫(xiě)。

    (4)設(shè)置ADO和DataGrid數(shù)據(jù)訪問(wèn)控件

    ADO數(shù)據(jù)庫(kù)訪問(wèn)設(shè)置可以借助屬性窗口來(lái)創(chuàng)建Connection對(duì)象。要?jiǎng)?chuàng)建連接,需要選擇該控件,并打開(kāi)其屬性對(duì)話框,從ConnectionString屬性的設(shè)置中選擇“新建連接”選項(xiàng)。然后在彈出的“數(shù)據(jù)鏈接屬性”對(duì)話框中,選擇提供程序和設(shè)置服務(wù)器名稱(chēng),數(shù)據(jù)庫(kù)名稱(chēng)、登錄賬戶和密碼等信息后測(cè)試連接是否正確,單擊確定完成ConnectionString屬性的設(shè)置,也就完成了ADO對(duì)象的創(chuàng)建。

    (5)程序運(yùn)行

    程序運(yùn)行時(shí),首先鏈接Access和程序界面的ADO控件和文本框,通過(guò)數(shù)據(jù)的傳輸為變量賦值。然后在內(nèi)部自動(dòng)執(zhí)行編譯好的程序,即可實(shí)現(xiàn)模型的建立和更新。值得注意的是,零件模型的空間放置情形應(yīng)盡量與其實(shí)際的情形相一致,以便于后續(xù)對(duì)零件的裝配。選取參數(shù),運(yùn)行程序。

    SolidWorks建模會(huì)采用自動(dòng)約束和捕捉功能,能有效地幫助用戶完成實(shí)體模型的繪制,但是它們會(huì)干涉程序自動(dòng)建模,需要關(guān)閉這種自動(dòng)約束和自動(dòng)捕捉功能,特別是關(guān)閉水平和垂直方向的捕捉功能。在實(shí)例中這種自動(dòng)建模技術(shù)采用參數(shù)驅(qū)動(dòng)方式生成模型,以設(shè)計(jì)參數(shù)建模比具體設(shè)計(jì)數(shù)據(jù)來(lái)驅(qū)動(dòng)尺寸建模的方式速度要快。


開(kāi)放分享:優(yōu)質(zhì)有限元技術(shù)文章,助你自學(xué)成才

相關(guān)標(biāo)簽搜索:基于SolidWorks二次開(kāi)發(fā)的自動(dòng)建模技術(shù)與方法 基于SolidWorks二次開(kāi)發(fā)的自動(dòng)建模技術(shù)與方法 SolidWorks培訓(xùn)課程 SolidWorks設(shè)計(jì)教程 SolidWorks視頻教程 SolidWorks軟件下載 SolidWorks在建筑室內(nèi)設(shè)計(jì)工業(yè)設(shè)計(jì)的應(yīng)用 SolidWorks基礎(chǔ)知識(shí) SolidWorks代做 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn) Abaqus培訓(xùn) 

編輯
在線報(bào)名:
  • 客服在線請(qǐng)直接聯(lián)系我們的客服,您也可以通過(guò)下面的方式進(jìn)行在線報(bào)名,我們會(huì)及時(shí)給您回復(fù)電話,謝謝!
驗(yàn)證碼

全國(guó)服務(wù)熱線

1358-032-9919

廣州公司:
廣州市環(huán)市中路306號(hào)金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓(xùn)QQ咨詢:點(diǎn)擊咨詢 點(diǎn)擊咨詢
項(xiàng)目QQ咨詢:點(diǎn)擊咨詢
email:kf@1cae.com