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