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

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

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

 

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

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

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

2.3.1相關(guān)概念

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

(1)類

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

(2)對象

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

(3)屬性和方法

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

(4)對象的交互

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

(5)封裝

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

(6)OLE技術(shù)

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

(7)ActiveX技術(shù)

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

(8)宏

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

2.3.2 SolidWorks API對象

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

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


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

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

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

全國服務(wù)熱線

1358-032-9919

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