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

2013-08-05  by:廣州Solidworks培訓中心  來源:仿真在線

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

 

1 引言

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

 

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

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

3 ActiveX Automation技術(shù)

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

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

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

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

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

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


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

    (2)使用連接對象打開數(shù)據(jù)庫;

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

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

 

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

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

 

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

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

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

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

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

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

(3)編寫基于VB的閥座自動建模對話框代碼


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


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

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

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

    (5)程序運行

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

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


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

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

編輯
在線報名:
  • 客服在線請直接聯(lián)系我們的客服,您也可以通過下面的方式進行在線報名,我們會及時給您回復電話,謝謝!
驗證碼

全國服務(wù)熱線

1358-032-9919

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