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

您的位置:網站首頁 > Solidworks

SolidWorks 中公差與符號標注的二次開發

時間:2010-06-02 08:00:00 來源:
副標題#e#

    當前計算機輔助設計在機械制造領域得到越來越廣泛的應用。SolidWorks 是基于 PARASOLID幾何造型核心,采用 VC++編程和面向對象的數據庫來開發的。SolidWorks 具有基于特征的參數化實體造型、NURBS 復雜曲面造型、實體與曲面融合、基于約束的裝配造型等一系列先進的三維設計功能及工具。盡管 SolidWorks 具有很多的優點,但是 SolidWorks 在公差標注和粗糙度符號標注方面仍存在較多的不足之處,在公差標注方面,SolidWorks 本身的上下偏差標注,需要工程技術人員自己查相關手冊輸入上下偏差,因此,在使用 SolidWorks 的同時,筆者考慮了用連接相關數據庫的方法,用戶只需輸入有關"偏差代號"及"公差等級"就可實現標注。這樣就使標注工作簡化。同時,筆者采用相似的方法實現了粗糙度的標注,所設計的窗體比 SolidWorks 所帶的窗體簡潔,但其實現的功能與之相同。且許多輸入是用選取下拉菜單內容的方法,簡化了用戶輸入。
   
    1 設計思想和開發原則
   
    本軟件的研制開發方法采用完全面向對象的設計思想和開發方法,軟件開發過程中,要設計許多用戶界面,在設計中就要遵循一些原則,一個友好的用戶界面應滿足以下幾個方面的要求:
   
    (1)減少記憶量

   
    本系統用戶界面設計中主要采用以下方法:采用提示選擇,而不是輸入命令串,這種方法為不了解系統的終端用戶帶來了極大的方便,(在此處,筆者考慮采用了下拉式組合框(ComboBox),用戶可直接選擇"偏差代號"、"公差等級");另外本設計中,有多個消息框,提示用戶出錯的地方,并準確糾正輸入。
   
    (2)靈活的提示信息

   
    應用軟件運行時,應能給出簡單易懂的提示信息,使用戶的工作能順利地進行。在用戶對提示信息做出回答后,若回答有效,則引導用戶進行下一步工作;否則,應能指出錯誤原因及改正方法。
   
    (3)良好的出錯處理

   
    一個好的系統在操作錯誤發生后可以復原到錯誤操作前的狀態,不會因此"死機"。一些更高級的系統具有"容錯"能力。為便于了解已操作的命令或重復運行已執行的操作,系統可以記錄用戶送入的操作命令,以便執行重復命令。二次開發過程也有其開發原則和要求:平臺穩定性,可移植性和兼容性,可伸縮性,系統融合性和相對獨立性,執行高效性,技術先進性,還有平臺易用性。本系統的開發過程就是遵循這樣的原則進行的。
   
    2 關鍵技術
   
    2.1 SolidWorks 的二次開發準備

   
    對 SolidWorks 進行的二次開發,主要是利用SolidWorks 為用戶提供了強大的 API 應用編程接口。其中包含的功能函數,可被 VB,或 SolidWorks的宏文件調用,這些函數提供程序員直接訪問SolidWorks 功能的能力。用戶可在 VB 中創建動態鏈接庫工程,加入相關代碼,編譯生成*.dll 文件,然后再加載此文件,用戶自己開發的動態鏈接庫中可實現與 SolidWorks 相同的功能。從而可以擴展 SolidWorks 的功能。
   
    首先,啟動 VB 建立"ActiveX DLL"文件,只有采用這種格式才會編譯生成*.dll 文件。其次,必須在 VB中引入 SolidWorks 的對象庫。具體做法是:必須選擇【工程】/【引用】菜單項,在可用的引用列表框中選擇"Sldworks 2001plus Type Library"條目,按 "確定"就可以了。
   
    下面就可以進行二次開發,添加菜單及用戶界面,擴展其功能。
   
    2.2 SolidWorks 的宏操作及應用

   
    宏在 SolidWorks 的二次開發中起著重要的銜接作用,在本設計中使用同樣也用到了宏。比如在本設計中,使用方法為:在用 SolidWorks 本身的標注操作之前,就打開宏"錄制",將整個標注過程錄制下來,錄制完成并保存后,就可對其進行編輯;由于錄制的是具體的標注過程,里面的數據都為具體數值,可以將其中的關鍵語句拷到VB 工程中,修改具體數值為變量;然后通過程序對變量進行賦值,這樣運行 VB 工程時就可通過輸入具體數值,進行每次的標注操作,實現所需的功能。
   
    2.3 SolidWorks 中添加菜單的關鍵技術

   
    在此軟件系統開發中,用到了許多軟件知識,這其中包括:Visual Basic、Access、VB的數據庫開發知識、SolidWorks 的 API 應用編程接口等技術。通過這些關鍵技術,就可對 SolidWorks 添加菜單。
   
    下面結合程序,介紹其實現方法。程序如下:
   
    Private Function SwAddin_ConnectToSW(ByVal ThisSW As Object, &_ByVal Cookie As Long) As Boolean
    Dim Ret As Boolean
    Set iSldWorks = ThisSWiCookie = Cookie
    Ret = iSldWorks.SetAddinCallbackInfo(App.hInstance, Me,iCookie)
    增加菜單部分
    Ret = iSldWorks.AddMenuItem2(swDocDRAWING, iCookie,&_"公差標注...@附加項(&A)", -1, "DocDRAWING_dimension",&_"DocDRAWING_ItemUpdate","DocDRAWING_Item hintstring")
    Ret = iSldWorks.AddMenuItem2(swDocDRAWING, iCookie,&_"粗糙度...@附加項(&A)", -1, "DocDRAWING_symbol", &_"DocDRAWING_ItemUpdate", "DocDRAWING_Item hintstring")
    SwAddin_ConnectToSW = True
    End Function
    ……
   
    函數中前面是定義部分變量,下面就為添加菜單的關鍵部分,語句中許多函數在 SolidWorks的對象庫和本軟件的公用模塊中已經定義。在開發過程中,可能遇到許多有關 API 函數的問題,這就需要仔細閱讀 SolidWorks 所帶的 API 幫助函數,幫助文件為英文,這就提高了我國用戶進行開發的難度。
   
    "公差標注...@附加項(&A)","粗糙度...@附加項(&A)",這兩句就是表示所添加菜單的名稱;"DocDRAWING_dimension" 和"DocDRAWING_symbol",兩函數表示所添加菜單所實現的功能。這些函數可在后面定義,來補充功能。下面就是其中的一個函數:
   
    Public Sub DocDRAWING_dimension() 調用公差查詢及標注窗體
    frmseek.Show調用公差查詢窗體
    End Sub
   
    所實現的功能將在下一節里面重點介紹。
   
    最后,將所編寫的程序生成*.dll 文件,在SolidWorks 下打開此文件,該軟件就會在"插件"對話框中出現,選擇該插件就會在菜單欄上出現。通過添加菜單的方法,可使 VB開發的應用程序,直接掛在 SolidWorks 下,執行時不需要離開SolidWorks 平臺,所開發的軟件與 SolidWorks 形成了統一的界面。