SolidWorks液壓系統(tǒng)開發(fā)方案與技術選擇(二)

2013-07-25  by:廣州有限元培訓實踐中心  來源:仿真在線

SolidWorks液壓系統(tǒng)開發(fā)方案與技術選擇(二)

 

2.2.3 SolidWorks系統(tǒng)二次開發(fā)的意義

      SolidWorks雖然擁有強大的功能,適當?shù)膬r位,但是也并非是十全十美。不何能滿足特定企業(yè)的特殊要求。例如,由于該軟件是外國人寫的,不適合中國的國標,如標題欄、明細表、放大圖的標注、剖視圖的標注、裝配圖的序號等。也沒有適合我國國標的標準件庫。資料顯示,我國有很多企業(yè)引進國外著名的CAD系統(tǒng),但往往未得到充分利用,未能全面用于產(chǎn)品設計,企業(yè)對CAD的巨額投資,并沒有真正達到提高設計質(zhì)量,縮短設計周期的目的,也沒有帶來應有的效益。究其原因,是未進行系統(tǒng)應用設計方面和管理方面的二次開發(fā)。據(jù)抽樣調(diào)查,國內(nèi)己引進的CAD系統(tǒng)利用率高而且達到效益比較好的企業(yè)和事業(yè)單位大約在20%-30%左右,所以沒有進行用戶化、本土化的二次開發(fā)就在一定程度上沒有真正意義上的CAD有效運用。因此,為了適應特定企業(yè)的特殊要求,形成企業(yè)自己的特色,使SolidWorks在我國的企業(yè)中有效的發(fā)揮作用,并使常用的或是重復的任務自動化,提高效率,就必須對其進行本土化和專業(yè)化的二次開發(fā)工作。

2.3 SolidWorks二次開發(fā)接口API對象

2.3.1相關概念

      為了方便用戶進行二次開發(fā),SolidWorks提供了幾百個API函數(shù),這些API是SolidWorks的OLE或COM接口。用戶可以使用高級語言對其進行二次開發(fā),建立適合用戶需要的、專用的SolidWorks功能模塊。在SolidWorksAPI中,經(jīng)常用到對象、方法、屬性等術語,準確理解這些術語對二次開發(fā)極為重要。

(1)類

      類是創(chuàng)建對象的樣板,它包含對創(chuàng)建對象的狀態(tài)描述和對操作行為的說明,它和對象之間的關系抽象和具體的關系.在面向?qū)ο蟪绦蛟O計中,一個類只在源程序的代碼中出現(xiàn),而并不會在一個正在內(nèi)存中運行的程序中出現(xiàn),即類只是在編譯時存在。對象作為類的實例在運行的程序中出現(xiàn),并占有內(nèi)存空間,它是在運行程序時存在的實體。所以一個類實際上是一種新的類型,當要使用一個新的數(shù)據(jù)類型時,首先要在源程序中說明,而說明的部分代碼是不在內(nèi)存中的運行的。在程序中運行的是該類的對象,對象在內(nèi)存中分配空間,程序的計算任務由對象完成。SolidWorksAPI為用戶提供了自由、開放、完整的面向?qū)ο蟮念愺w系,其中包含了數(shù)以百計的功能函數(shù),程序員可以調(diào)用這些類函數(shù),也可以在自己開發(fā)的程序中派生這些類函數(shù)的子類函數(shù),建立子類函數(shù)的對象、對象的屬性、方法,凡支持ActiveXAutomation標準的編程語言都可以訪問SolidWorkaAPI類函數(shù),調(diào)用這些類函數(shù)幾乎能夠?qū)崿F(xiàn)SolidWorks中所有功能。

(2)對象

      對象是應用程序簡單而抽象的代表。編程中的對象是將數(shù)據(jù)和方法包裝在一起,麗形成的一些實體或者說是一種數(shù)據(jù)結構,它使這些實體變得獨立。其特性是:每一個對象必須有一個名字以區(qū)別于其他對象;用屬性來描述它的某些特征;有一組操作,每一個操作決定對象的一種行為。SolidWorks API包含了數(shù)百種函數(shù),每一個函數(shù)都是一個獨立的對象。

(3)屬性和方法

      屬于一個類的對象具有相同的行為,當某個行為作用在對象時,就稱對象執(zhí)行了一個方法。方法定義了一系列的計算步驟。方法有兩種,一種提供對象與外界的接口,一種實現(xiàn)自身的數(shù)據(jù)操作。對象的“屬性”就是指有關的數(shù)據(jù),對象的“方法”則是指如何操作。SolidWorks的所有功能都以屬性和方法的方式封裝于SolidWorksAPI對象中,對外提供執(zhí)行代碼。

(4)對象的交互

      在面向?qū)ο蟪绦蛟O計中,對象之間需要聯(lián)系,這稱之為對象的交互。面向?qū)ο蟪绦蛟O計技術必須提供一種機制,允許一個對象與另一個對象的交互。這種機制,叫做消息傳遞。一個對象向另一個對象發(fā)出的請求被稱為“消息”。消息是一個對象要求另一個對象執(zhí)行某個功能操作的規(guī)格的說明,通過消息傳遞才能完成對象之間的相互請求或相互協(xié)作。SolidWorks二次開發(fā)中,用面向?qū)ο蟮木幊陶Z言VB編寫客戶端應用程序,它把程序員的要求轉化為向服務端應用程序SolidWorks發(fā)出通訊的請求,SolidWorks根據(jù)請求“開放”API對象,VB引用該對象,設置其屬性,操作其方法,SolidWorks按既定的數(shù)據(jù)信息和操作方式執(zhí)行,實現(xiàn)所期望的功能,完成對象的交互。

(5)封裝

      封裝是指將數(shù)據(jù)結構和作用于數(shù)據(jù)結構上的操作組成一個實體,數(shù)據(jù)的表示方式和對數(shù)據(jù)的操作細節(jié)被隱藏起來,用戶只能通過操作接口對數(shù)據(jù)進行操作。即:令對象具有一個清楚的邊界,對象的私有數(shù)據(jù)、成員函數(shù)的細節(jié)被封裝在該邊界內(nèi);令具有一個描述對象與其他對象如何相互作用的接口,該接口必須說明消息傳遞的使用方法;令對象內(nèi)部的代碼和數(shù)據(jù)應受到保護,其他對象不能直接修改,SolidWorks所有功能均以屬性、方法的方式封裝于SolidWorks API對象中。

(6)OLE技術

      OLE就是對象的嵌入與連接,它使得應用程序之間能夠通過數(shù)據(jù)的嵌入或連接的方式來共享數(shù)據(jù)。含有嵌入或連接文檔的應用程序被稱為容器程序,提供文檔數(shù)據(jù)編輯的應用程序被稱為服務器程序。自動化技術Automation是oLE技術的一個重要內(nèi)容。直到今天,自動化技術擴充和發(fā)展為ActiveX Automation,它適用于OLE對象和ActiveX對象。操縱程序被稱為客戶(Client),而被操縱程序稱為服務器(Server),被操縱的對象是ActiveX對象如果應用程序支持OLE技術,則在不同應用程序之間的切換由OLE自動完成。SolidWoks支持OLE標準,完全實現(xiàn)了OLE自動化,前已提及,SolidWoks具有開放的結構體系,它的這種開放性體現(xiàn)在它所提供的API對象上。API是一個對SolidWoks的應用編程接口(Application Prosramming Interface),包含了幾百個對象及其屬性、方法和事件,這正是SolidWoks為用戶提供的功能強大的二次開發(fā)接口,凡支持oLE編程的開發(fā)工具,如VisualC++、VisualBasic、Delphi等均可從各自本身操作這些對象,從而直接行使SolidWoks的功能,如畫一條直線,拉伸一個凸臺,或修改一個表面的參數(shù)等。利用這種方法可以完成SolidWoks的二次開發(fā),創(chuàng)建出用戶定制的、專用的SolidWoks功能模塊。OLE2.0推出以后,OLE已經(jīng)不再是對象的嵌入和連接的縮略詞。不妨認為ActiveX是OLE3.0,事實上AcfiveX是OLE在網(wǎng)絡上的擴展,它使用了0LE技術并且超過了本地機器的范圍。在本課題中,用VB來控制SolidWoks提供的各種對象,即把VB作為客戶程序,SolidWoks作為服務器程序。

(7)ActiveX技術

      ActiveX是微軟新近提出的一種技術,是實現(xiàn)不同語言開發(fā)的軟件組件在單機或網(wǎng)絡環(huán)境下能夠相互操作的一組軟件技術和軟件方法的總稱.它以COM為基礎,其中包括了OLE技術以及應用于Intemet的多種技術。它使得不同的進程,甚至是網(wǎng)絡上的進程之間相互通信,并朝著多媒體方向發(fā)展。ActiveX是一種標準,利用這個標準可以使用通過不同的語言開發(fā)的軟件構件在單機或網(wǎng)絡環(huán)境中相互操作。同時,ActiveX也是以組件對象模型為基礎的開放技術的集合,它代表了應用程序與intemet的一種集成策略。COM客戶通過一個指向虛擬函數(shù)表地址的指針即接口(Interface)來訪問COM組件,以實現(xiàn)所期望的應用。而虛擬函數(shù)表每一項都是一個地址,一個由組件所實現(xiàn)的函數(shù)的地址。提供訪問的所有的接口都自然繼承一個名為Unknown的接口,因此接口的虛擬函數(shù)表的前三項均為Unknown接口的成員函數(shù)的地址。這些函數(shù)一是用來查詢組件接口的QueryInterface函數(shù),二是用來管理組件的生存周期的Addrcf函數(shù)和Release函數(shù)。通過ActiveX可以使應用程序的開發(fā)過程轉變?yōu)閷⒂嬎銠C上運行的各個軟件有機組合的過程。如果將計算機上運行的這些軟件看成為組件(Component),那么應用程序的開發(fā)過程就類似于搭積木似的組件架構的過程,而每個組件類似于一個實現(xiàn)特定的功能己編譯鏈接好的可使用的微型應用程序,其內(nèi)部對客戶隱藏,其外部(即輸入與輸出)對客戶開放。

(8)宏

      宏是一系列命令的集合,相當于Dos下的批處理文件,及AutoCAD中的腳本文件??梢凿浿剖褂肧olidWorks用戶界面執(zhí)行操作,然后使用SolidWorks宏重新執(zhí)行這些操作。宏所包含的調(diào)用相當于使用用戶界面執(zhí)行操作時,對APl的調(diào)用。通過記錄宏和交互式執(zhí)行任務,可以在所需的代碼上獲得命令和語法的飛躍。在寫任何代碼前,都是記錄宏來用作程序的基礎,即向程序添加功能時,返回到SolidWorks,記錄添加的宏。然后剪貼和粘貼記錄的宏的代碼中,這樣做,既是對最先進的程序也是有益的。

2.3.2 SolidWorks API對象

      SolidWorks支持OLE標準,完全實現(xiàn)OLE自動化。作為~個OLE服務器,SolidWorks提供了大量的OLE對象,以及這些對象所擁有的方法和屬性,用戶通過在客戶應用程序中對這些。OLE對象及其方法和屬性的操作,可以在自己開發(fā)的應用軟件中實現(xiàn)可以完成零件的建造、修改;零件各特征的建立、修改、刪除、壓縮等各項控制;零件特征信息的提取,如特征尺寸的設置與提取,特征所在面的信息提取及各種幾何和拓撲信息;零件的裝配信息;零件工程圖紙中的各項信息;還可在SolidWorks主菜單上增加按鈕,將自己開發(fā)的應用模塊嵌入到它的管理系統(tǒng)中。

      是SolidWorks API對象的一個梗概。它并不代表對象的起源層次或惟一的來去途徑。從可以看到SolidWorks API的對象分為若干層,每一層又包括若干對象。每個對象又都有自己的屬性、方法和事件。對象的數(shù)目很多,以后若在開發(fā)中用到,通過查找API幫助來使用它。


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

相關標簽搜索:SolidWorks液壓系統(tǒng)開發(fā)方案與技術選擇(二) SolidWorks培訓 液壓系統(tǒng)二次開發(fā) SolidWorks培訓課程 SolidWorks設計教程 SolidWorks視頻教程 SolidWorks軟件下載 SolidWorks在建筑室內(nèi)設計工業(yè)設計的應用 SolidWorks基礎知識 SolidWorks代做 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓 

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

全國服務熱線

1358-032-9919

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