咨詢電話:400-898-6889
Solidworks中國一級代理商
Solidworks新聞您的位置:首頁>新聞與活動(dòng)
暢談SolidWorks與API 二次開發(fā)
更新時(shí)間:2018年07月30日 15:23
【什么是API 】
API為Application Program Interface英文縮寫, 意為應(yīng)用編程接口,它的意思其實(shí)在網(wǎng)上很容易查得。我的理解是: 和操作使用軟件本身的功能一樣,屬于應(yīng)用手法的一種。一般的操作是:通過鼠標(biāo)點(diǎn)擊,鍵盤鍵入數(shù)字操作它現(xiàn)有的按鈕,命令;而API 則是通過編程語言代碼,對現(xiàn)有的功能進(jìn)行一定的控制,形成新的命令或功能,即利用編程代碼來操控軟件的現(xiàn)有功能,也屬于一種應(yīng)用的方法。例如:沿著長度(250mm)方向, 間隔為50mm均布4個(gè)孔,桌面木板的打孔,我們用SolidWorks的建模,非常的簡單。
步驟:1. 繪制孔的草圖,標(biāo)尺寸,大小以及定位;2.產(chǎn)生開孔特征:拉伸切除;3.陣列,按照長度250mm, 間隔50mm, 算出需要四個(gè)孔。
掌握其中的數(shù)學(xué)和邏輯,利用數(shù)學(xué)的方法表達(dá)邏輯,就可以把以上3個(gè)步驟合成1個(gè)步驟。通過指定長度值和方向,孔徑,就能一次過產(chǎn)生所需要的孔,并且可以應(yīng)對更多的情況,免除重復(fù)而瑣碎的工作。
【有什么好處 】
由于SolidWorks是市場上主流的三維參數(shù)化工業(yè)設(shè)計(jì)軟件之一,它的功能是通用的,是面向廣大的市場用戶而開發(fā)和更新的,而我們深入探討具體某些行業(yè),某些企業(yè)的特殊的行業(yè)規(guī)范,行業(yè)習(xí)慣,人們的行為習(xí)慣(同一公司也好,中國人跟美國人,習(xí)慣上也會(huì)有很大的差異),為了讓SolidWorks更加貼近這些習(xí)慣和規(guī)范,應(yīng)用起來更加得心應(yīng)手,效率更高,往往就可以考慮通過API的手段來強(qiáng)化這一點(diǎn)。例如:我們?yōu)榱藦?qiáng)化SolidWorks在塑膠模具和沖壓模具的設(shè)計(jì)習(xí)慣,便有了廣為大家所認(rèn)識的:3DQuickMold, 3DQuickPress ,基于SolidWorks 平臺的插件工具(百度一下便可了解詳細(xì))。又或者例如辦公家具的設(shè)計(jì),屬于規(guī)則化的設(shè)計(jì),常見的工作便是重復(fù)瑣碎的基本建模,則可以通過API開發(fā)出專門的設(shè)計(jì)界面,加快和規(guī)范設(shè)計(jì)的工作,提高效率。
圖2 基于SolidWorks開發(fā)的智能辦公桌設(shè)計(jì)界面
【如何判斷有沒有API 的可能性】
1. 前段提到,API就是利用編程代碼來操控軟件的現(xiàn)有功能,也屬于一種應(yīng)用的方法。我們判斷是否可以利用API來實(shí)現(xiàn),首先就要看通過手動(dòng)的方法,評估現(xiàn)有的功能,是否能做出最終的結(jié)果。簡單地說,就是手動(dòng)操作SW能實(shí)現(xiàn)的結(jié)果,中間會(huì)有較多的直接或間接的方法,都很有可能通過API將其自動(dòng)的實(shí)現(xiàn)。最常見的是使用API進(jìn)行規(guī)則化的建模自動(dòng)化設(shè)計(jì),把手動(dòng)操作的工作變?yōu)樽詣?dòng),規(guī)范化。
2. 對于一般的SW操作,而無法實(shí)現(xiàn)的呢?也一定程度上,通過調(diào)入外部其他程序的計(jì)算核心或技術(shù)嵌入至SW中進(jìn)行API。這種API手法,極為少見,對編程技術(shù)的要求非常高。例如,3DQuickPress 則是調(diào)用了OpenGL圖形顯示技術(shù),在SW中開發(fā)出專屬的沖壓件展開和排帶排布設(shè)計(jì)的圖形,而這種圖形,一般的操作SolidWorks是怎么做也無法做出來的。
【誤區(qū)】
1. 以為錄制宏是用來記錄建模過程的,錄屏幕視頻差不多?
錄制宏,其實(shí)是將鼠標(biāo)點(diǎn)擊的動(dòng)作通過代碼的形式記錄下來,讓開發(fā)人員從中編輯以及加入其他的代碼進(jìn)行開發(fā)和擴(kuò)充。屬于API常用的方法。
圖3 SolidWorks自帶的VBA編程界面
2. 以為API就是錄制宏而已?
錄制宏,其實(shí)只是其中一種方法,而且較為簡單,很多入門的人士都會(huì)采用。我個(gè)人認(rèn)為單靠錄制宏的API,其實(shí)屬于比較淺層的開發(fā)。真正的API, 關(guān)鍵在于“I”, Interface接口, 理解SolidWorks的接口方法,函數(shù)以及相關(guān)的成員。需要深入了解SolidWorks API幫助文件。
3. 編程寫代碼就是API 了?
曾經(jīng)有個(gè)朋友來信問到:“我有二次開發(fā)的經(jīng)驗(yàn),你告訴我怎么在SW宏里讀取TXT數(shù)據(jù)就好,我以前的軟件上可以,不知道SW怎么弄?”
回答:其實(shí)二次開發(fā)的概念,什么軟件都一樣。唯一不同,就在于Interface接口的差異。而那位兄臺自以為天下間的二次開發(fā)都一樣的,而讀取TXT數(shù)據(jù),其實(shí)就是一般的編程技術(shù),跟SolidWorks一點(diǎn)關(guān)系都沒有。