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