我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網站首頁 > Solidworks

基于SolidWorks的三次開發方法研究

時間:2010-06-02 08:00:00 來源:
副標題#e#    CAD 軟件在國內生產制造企業中的應用越來越廣泛,大量二次開發的需求隨之產生,根據企業產品特點開發出一套專業設計軟件成為眾多企業設計部門的迫切要求。

    PRO/ E,AutoCAD,SolidWorks 和SolidEdge 等著名CAD 設計軟件都提供了良好的二次開發平臺,基于這些軟件的二次開發產品滿足了各種企業和行業的設計需求,然而這樣的軟件產品卻往往會遇到以下幾個方面的問題:

    (1)專業性強

    企業往往無法在現有CAD 軟件中找到適合自己行業的零件庫,在此情況下便產生了二次開發的需求,因此二次開發產生的零部庫一般都是針對某個設計行業。這樣的零部件庫日后很難從軟件市場上得到升級和補充,例如空氣分離設備行業,全國只有近百家專業生產廠商,現在CAD 廠商通常不會為這樣的專業領域企業設計完善的零部件庫。

    (2)保密性高

    企業的設計軟件充分體現了企業的技術特點和技術優勢,這樣的二次開發軟件具有很強的保密性。為了防止技術資料泄漏并保持同行業內的競爭優勢,企業往往非常慎重地選擇軟件開發伙伴,這樣就為日后維護帶來很大的困難。以空氣分離設備行業為例,該行業準入門檻低,擁有核心技術的人員可以很容易地組建新的生產企業,因此資料的保密是關系到企業生存的大事。如何在保密的情況下,長期維護和升級軟件成了企業面臨的新問題。

    (3)設計變動頻繁

    企業產品要更新換代,進而帶動零部件庫的更新和程序設計流程的變化。從企業需求角度而言,創新設計是企業賴以生存的基石,設計變動將頻繁發生;而從軟件的角度來說,涉及變動嚴重威脅了軟件的壽命,任何改動都可能導致既有軟件功能完全喪失。如果對每次設計變動都要聯系軟件設計企業,必然造成無謂的二次投資,而對于軟件企業更改原有軟件帶來的開銷往往是驚人的。

    如何解決這些問題成了企業發展創新道路上的新困難,由此產生了企業三次開發的需求———企業在有限的軟件開發能力之下,不必支付大量的維護升級成本就能自主進行三次開發,讓軟件適應企業日益增長的設計需求。

    將以SolidWorks 為例,結合實際工程項目經驗,探討在二次開發過程中充分考慮用戶三次開發需求而進行的若干改進和嘗試,從而保證用戶在軟件交付使用后仍然能夠自行升級和維護該軟件。


1 SoIidWorks三次開發的四種方法

    SolidWorks 的二次開發通常是利用SolidWorks 公司提供的功能齊全的API 函數庫,使用Visual C ++ 或者Visual Basic 語言設計完成的。這樣的工作對于軟件開發企業來說比較簡單,而一旦二次開發軟件交付用戶使用,理解和修改代碼的工作對于用戶來說將變得十分困難。下面的討論就是基于用戶只具有基本的計算機操作能力,沒有軟件開發能力的前提之下,如何繞開代碼修改,仍能夠對二次開發軟件進行補充和升級的四種方法,以滿足企業創新和發展的需要。

    這四種方法分別是:

    (1)使用配置的方法建立零部件庫;

    (2)使用和解除約束方程;

    (3)使用壓縮的方法處理不同拓撲結構問題;

    (4)使用Access 數據庫便于用戶修改。

    1.1 使用配置的方法建立零部件庫

    二次開發中建立零部件庫有兩種方法:

    (1)編程實現

    SolidWorks 提供了完整的API 函數,調用接口函數可以實現各種繪圖功能。以實現一個圓柱系列化為例,其步驟如下:

    ①使用ModelDoc 對象中的CreateCircle2 函數即可按照制定的圓心和圓周上一點繪制圓形。使用PartDoc 對象中的FeatureExtrusion3函數進行拉伸,得到一個圓柱。

    ②在數據庫(如SQLServer)中建立一組不同規格的圓的直徑表。

    ③使用ODBC 或者JDBC 建立程序和數據庫的連接,調用不同的直徑值在SolidWorks 中生成不同尺寸的圓柱形。

    這樣就完成了對一組圓柱零件庫的程序驅動。

    (2)使用配置實現

    配置(Configurations)是SolidWorks 中實現零部件庫的一個重要方法,它可以在單一的文件中對零件或裝配體生成多個設計變化。配置提供了簡便的方法來開發與管理一組有著不同尺寸、零部件或其他參數的模型,它是通過插入系列零件設計表實現的,SolidWorks 內嵌Excell 表以支持此功能。

    如圖1 所示,對于“管子”零件有兩個參數是系列化的,即管子外徑和管子壁厚。對于每一個公稱通徑,如當前配置DN57,都有一組管子外徑57mm(管子外徑@ 草圖1)和管子壁厚3. 50mm(管子壁厚@ 拉伸-薄壁1)與之對應。如此形成一組DN10-DN400 的配置就形成了管子的零件庫。

 

    與方法一相比,這樣生成的零件庫可以巧妙地繞開程序,用不同的配置代替了程序對繪圖參數的控制,用Excell 表代替了數據庫存儲。在軟件交付使用后,工廠設計人員可以很方便地通過簡單的修改Excell 表來增加和減少庫中零件數量,有效地保證了零件庫的可維護性。

    除此之外,一個更突出的優點是:增加或者減少配置參數的操作簡便。如在圖1 表格中增加一列“ 管子長度”,即對應每個配置都增加一個相應的管子長度數據,這樣的操作在方法一中必須通過修改程序代碼來實現,而在方法二中則直接對Excell 表進行簡單的鼠標和鍵盤操作即可完成。

    1.2 使用和解除約束方程

    零部件在繪制過程中經常會有一些數學上的約束關系,仍然以圖1 管道為例。該段管路中有兩個彎頭,按照設計要求,彎頭的半徑應該是管道直徑的1. 5 倍,如圖2 所示,管道當前配置為DN50,對應的管道直徑為57mm,相應彎頭半徑為85. 5mm。