SolidWorks液壓系統開發方案與技術選擇(二)
2013-07-25 by:廣州有限元培訓實踐中心 來源:仿真在線
SolidWorks液壓系統開發方案與技術選擇(二)
2.2.3 SolidWorks系統二次開發的意義
SolidWorks雖然擁有強大的功能,適當的價位,但是也并非是十全十美。不何能滿足特定企業的特殊要求。例如,由于該軟件是外國人寫的,不適合中國的國標,如標題欄、明細表、放大圖的標注、剖視圖的標注、裝配圖的序號等。也沒有適合我國國標的標準件庫。資料顯示,我國有很多企業引進國外著名的CAD系統,但往往未得到充分利用,未能全面用于產品設計,企業對CAD的巨額投資,并沒有真正達到提高設計質量,縮短設計周期的目的,也沒有帶來應有的效益。究其原因,是未進行系統應用設計方面和管理方面的二次開發。據抽樣調查,國內己引進的CAD系統利用率高而且達到效益比較好的企業和事業單位大約在20%-30%左右,所以沒有進行用戶化、本土化的二次開發就在一定程度上沒有真正意義上的CAD有效運用。因此,為了適應特定企業的特殊要求,形成企業自己的特色,使SolidWorks在我國的企業中有效的發揮作用,并使常用的或是重復的任務自動化,提高效率,就必須對其進行本土化和專業化的二次開發工作。
2.3 SolidWorks二次開發接口API對象
2.3.1相關概念
為了方便用戶進行二次開發,SolidWorks提供了幾百個API函數,這些API是SolidWorks的OLE或COM接口。用戶可以使用高級語言對其進行二次開發,建立適合用戶需要的、專用的SolidWorks功能模塊。在SolidWorksAPI中,經常用到對象、方法、屬性等術語,準確理解這些術語對二次開發極為重要。
(1)類
類是創建對象的樣板,它包含對創建對象的狀態描述和對操作行為的說明,它和對象之間的關系抽象和具體的關系.在面向對象程序設計中,一個類只在源程序的代碼中出現,而并不會在一個正在內存中運行的程序中出現,即類只是在編譯時存在。對象作為類的實例在運行的程序中出現,并占有內存空間,它是在運行程序時存在的實體。所以一個類實際上是一種新的類型,當要使用一個新的數據類型時,首先要在源程序中說明,而說明的部分代碼是不在內存中的運行的。在程序中運行的是該類的對象,對象在內存中分配空間,程序的計算任務由對象完成。SolidWorksAPI為用戶提供了自由、開放、完整的面向對象的類體系,其中包含了數以百計的功能函數,程序員可以調用這些類函數,也可以在自己開發的程序中派生這些類函數的子類函數,建立子類函數的對象、對象的屬性、方法,凡支持ActiveXAutomation標準的編程語言都可以訪問SolidWorkaAPI類函數,調用這些類函數幾乎能夠實現SolidWorks中所有功能。
(2)對象
對象是應用程序簡單而抽象的代表。編程中的對象是將數據和方法包裝在一起,麗形成的一些實體或者說是一種數據結構,它使這些實體變得獨立。其特性是:每一個對象必須有一個名字以區別于其他對象;用屬性來描述它的某些特征;有一組操作,每一個操作決定對象的一種行為。SolidWorks API包含了數百種函數,每一個函數都是一個獨立的對象。
(3)屬性和方法
屬于一個類的對象具有相同的行為,當某個行為作用在對象時,就稱對象執行了一個方法。方法定義了一系列的計算步驟。方法有兩種,一種提供對象與外界的接口,一種實現自身的數據操作。對象的“屬性”就是指有關的數據,對象的“方法”則是指如何操作。SolidWorks的所有功能都以屬性和方法的方式封裝于SolidWorksAPI對象中,對外提供執行代碼。
(4)對象的交互
在面向對象程序設計中,對象之間需要聯系,這稱之為對象的交互。面向對象程序設計技術必須提供一種機制,允許一個對象與另一個對象的交互。這種機制,叫做消息傳遞。一個對象向另一個對象發出的請求被稱為“消息”。消息是一個對象要求另一個對象執行某個功能操作的規格的說明,通過消息傳遞才能完成對象之間的相互請求或相互協作。SolidWorks二次開發中,用面向對象的編程語言VB編寫客戶端應用程序,它把程序員的要求轉化為向服務端應用程序SolidWorks發出通訊的請求,SolidWorks根據請求“開放”API對象,VB引用該對象,設置其屬性,操作其方法,SolidWorks按既定的數據信息和操作方式執行,實現所期望的功能,完成對象的交互。
(5)封裝
封裝是指將數據結構和作用于數據結構上的操作組成一個實體,數據的表示方式和對數據的操作細節被隱藏起來,用戶只能通過操作接口對數據進行操作。即:令對象具有一個清楚的邊界,對象的私有數據、成員函數的細節被封裝在該邊界內;令具有一個描述對象與其他對象如何相互作用的接口,該接口必須說明消息傳遞的使用方法;令對象內部的代碼和數據應受到保護,其他對象不能直接修改,SolidWorks所有功能均以屬性、方法的方式封裝于SolidWorks API對象中。
(6)OLE技術
OLE就是對象的嵌入與連接,它使得應用程序之間能夠通過數據的嵌入或連接的方式來共享數據。含有嵌入或連接文檔的應用程序被稱為容器程序,提供文檔數據編輯的應用程序被稱為服務器程序。自動化技術Automation是oLE技術的一個重要內容。直到今天,自動化技術擴充和發展為ActiveX Automation,它適用于OLE對象和ActiveX對象。操縱程序被稱為客戶(Client),而被操縱程序稱為服務器(Server),被操縱的對象是ActiveX對象如果應用程序支持OLE技術,則在不同應用程序之間的切換由OLE自動完成。SolidWoks支持OLE標準,完全實現了OLE自動化,前已提及,SolidWoks具有開放的結構體系,它的這種開放性體現在它所提供的API對象上。API是一個對SolidWoks的應用編程接口(Application Prosramming Interface),包含了幾百個對象及其屬性、方法和事件,這正是SolidWoks為用戶提供的功能強大的二次開發接口,凡支持oLE編程的開發工具,如VisualC++、VisualBasic、Delphi等均可從各自本身操作這些對象,從而直接行使SolidWoks的功能,如畫一條直線,拉伸一個凸臺,或修改一個表面的參數等。利用這種方法可以完成SolidWoks的二次開發,創建出用戶定制的、專用的SolidWoks功能模塊。OLE2.0推出以后,OLE已經不再是對象的嵌入和連接的縮略詞。不妨認為ActiveX是OLE3.0,事實上AcfiveX是OLE在網絡上的擴展,它使用了0LE技術并且超過了本地機器的范圍。在本課題中,用VB來控制SolidWoks提供的各種對象,即把VB作為客戶程序,SolidWoks作為服務器程序。
(7)ActiveX技術
ActiveX是微軟新近提出的一種技術,是實現不同語言開發的軟件組件在單機或網絡環境下能夠相互操作的一組軟件技術和軟件方法的總稱.它以COM為基礎,其中包括了OLE技術以及應用于Intemet的多種技術。它使得不同的進程,甚至是網絡上的進程之間相互通信,并朝著多媒體方向發展。ActiveX是一種標準,利用這個標準可以使用通過不同的語言開發的軟件構件在單機或網絡環境中相互操作。同時,ActiveX也是以組件對象模型為基礎的開放技術的集合,它代表了應用程序與intemet的一種集成策略。COM客戶通過一個指向虛擬函數表地址的指針即接口(Interface)來訪問COM組件,以實現所期望的應用。而虛擬函數表每一項都是一個地址,一個由組件所實現的函數的地址。提供訪問的所有的接口都自然繼承一個名為Unknown的接口,因此接口的虛擬函數表的前三項均為Unknown接口的成員函數的地址。這些函數一是用來查詢組件接口的QueryInterface函數,二是用來管理組件的生存周期的Addrcf函數和Release函數。通過ActiveX可以使應用程序的開發過程轉變為將計算機上運行的各個軟件有機組合的過程。如果將計算機上運行的這些軟件看成為組件(Component),那么應用程序的開發過程就類似于搭積木似的組件架構的過程,而每個組件類似于一個實現特定的功能己編譯鏈接好的可使用的微型應用程序,其內部對客戶隱藏,其外部(即輸入與輸出)對客戶開放。
(8)宏
宏是一系列命令的集合,相當于Dos下的批處理文件,及AutoCAD中的腳本文件。可以錄制使用SolidWorks用戶界面執行操作,然后使用SolidWorks宏重新執行這些操作。宏所包含的調用相當于使用用戶界面執行操作時,對APl的調用。通過記錄宏和交互式執行任務,可以在所需的代碼上獲得命令和語法的飛躍。在寫任何代碼前,都是記錄宏來用作程序的基礎,即向程序添加功能時,返回到SolidWorks,記錄添加的宏。然后剪貼和粘貼記錄的宏的代碼中,這樣做,既是對最先進的程序也是有益的。
2.3.2 SolidWorks API對象
SolidWorks支持OLE標準,完全實現OLE自動化。作為~個OLE服務器,SolidWorks提供了大量的OLE對象,以及這些對象所擁有的方法和屬性,用戶通過在客戶應用程序中對這些。OLE對象及其方法和屬性的操作,可以在自己開發的應用軟件中實現可以完成零件的建造、修改;零件各特征的建立、修改、刪除、壓縮等各項控制;零件特征信息的提取,如特征尺寸的設置與提取,特征所在面的信息提取及各種幾何和拓撲信息;零件的裝配信息;零件工程圖紙中的各項信息;還可在SolidWorks主菜單上增加按鈕,將自己開發的應用模塊嵌入到它的管理系統中。
是SolidWorks API對象的一個梗概。它并不代表對象的起源層次或惟一的來去途徑。從可以看到SolidWorks API的對象分為若干層,每一層又包括若干對象。每個對象又都有自己的屬性、方法和事件。對象的數目很多,以后若在開發中用到,通過查找API幫助來使用它。
相關標簽搜索:SolidWorks液壓系統開發方案與技術選擇(二) SolidWorks培訓 液壓系統二次開發 SolidWorks培訓課程 SolidWorks設計教程 SolidWorks視頻教程 SolidWorks軟件下載 SolidWorks在建筑室內設計工業設計的應用 SolidWorks基礎知識 SolidWorks代做 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓