暢談SolidWorks與API 二次開發
【什麼是API 】
API為Application Program Interface英文縮寫, 意為應用編程介面,它的意思其實在網上很容易查得。我的理解是: 和操作使用軟體本身的功能一樣,屬於應用手法的一種。一般的操作是:通過滑鼠點擊,鍵盤鍵入數字操作它現有的按鈕,命令;而API 則是通過編程語言代碼,對現有的功能進行一定的控制,形成新的命令或功能,即利用編程代碼來操控軟體的現有功能,也屬於一種應用的方法。例如:沿著長度(250mm)方向, 間隔為50mm均布4個孔,桌面木板的打孔,我們用SolidWorks的建模,非常的簡單。
圖1
步驟:1. 繪製孔的草圖,標尺寸,大小以及定位;2.產生開孔特徵:拉伸切除;3.陣列,按照長度250mm, 間隔50mm, 算出需要四個孔。 掌握其中的數學和邏輯,利用數學的方法表達邏輯,就可以把以上3個步驟合成1個步驟。通過指定長度值和方向,孔徑,就能一次過產生所需要的孔,並且可以應對更多的情況,免除重複而瑣碎的工作。
【有什麼好處 】
由於SolidWorks是市場上主流的三維參數化工業設計軟體之一,它的功能是通用的,是面向廣大的市場用戶而開發和更新的,而我們深入探討具體某些行業,某些企業的特殊的行業規範,行業習慣,人們的行為習慣(同一公司也好,中國人跟美國人,習慣上也會有很大的差異),為了讓SolidWorks更加貼近這些習慣和規範,應用起來更加得心應手,效率更高,往往就可以考慮通過API的手段來強化這一點。例如:我們為了強化SolidWorks在塑膠模具和衝壓模具的設計習慣,便有了廣為大家所認識的:3DQuickMold, 3DQuickPress ,基於SolidWorks 平台的插件工具(百度一下便可了解詳細)。又或者例如辦公傢具的設計,屬於規則化的設計,常見的工作便是重複瑣碎的基本建模,則可以通過API開發出專門的設計界面,加快和規範設計的工作,提高效率。
圖2 基於SolidWorks開發的智能辦公桌設計界面
【如何判斷有沒有API 的可能性】
1.t前段提到,API就是利用編程代碼來操控軟體的現有功能,也屬於一種應用的方法。我們判斷是否可以利用API來實現,首先就要看通過手動的方法,評估現有的功能,是否能做出最終的結果。簡單地說,就是手動操作SW能實現的結果,中間會有較多的直接或間接的方法,都很有可能通過API將其自動的實現。最常見的是使用API進行規則化的建模自動化設計,把手動操作的工作變為自動,規範化。
2.t對於一般的SW操作,而無法實現的呢?也一定程度上,通過調入外部其他程序的計算核心或技術嵌入至SW中進行API。這種API手法,極為少見,對編程技術的要求非常高。例如,3DQuickPress 則是調用了OpenGL圖形顯示技術,在SW中開發出專屬的衝壓件展開和排帶排布設計的圖形,而這種圖形,一般的操作SolidWorks是怎麼做也無法做出來的。
【誤區】
1.t以為錄製宏是用來記錄建模過程的,錄屏幕視頻差不多?
錄製宏,其實是將滑鼠點擊的動作通過代碼的形式記錄下來,讓開發人員從中編輯以及加入其他的代碼進行開發和擴充。屬於API常用的方法。
圖3 SolidWorks自帶的VBA編程界面
2.t以為API就是錄製宏而已? 錄製宏,其實只是其中一種方法,而且較為簡單,很多入門的人士都會採用。我個人認為單靠錄製宏的API,其實屬於比較淺層的開發。真正的API, 關鍵在於「I」, Interface介面, 理解SolidWorks的介面方法,函數以及相關的成員。需要深入了解SolidWorks API幫助文件。
3.t編程寫代碼就是API 了? 曾經有個朋友來信問到:「我有二次開發的經驗,你告訴我怎麼在SW宏里讀取TXT數據就好,我以前的軟體上可以,不知道SW怎麼弄?」
回答:其實二次開發的概念,什麼軟體都一樣。唯一不同,就在於Interface介面的差異。而那位兄台自以為天下間的二次開發都一樣的,而讀取TXT數據,其實就是一般的編程技術,跟SolidWorks一點關係都沒有。
【如何學習和入門】
a)t授課培訓? 答:國內很少看到面向一般民眾的SolidWorks 二次開發培訓課程。筆者覺得,API二次開發這個東西是沒法培訓的,主要在於查幫助,查函數,不斷的測試而已。
b)tSolidWorks二次開發之前,具備編程的知識和對SolidWorks有相當的了解。不然沒法評估是否可以進行API,或者API所要控制的SolidWorks現有功能的「行為」不了解。
c)t入門:自帶的在線指導教程,可以先入門了解一下。只要有SolidWorks軟體,你就能初步了解它的API了。
圖4 入門API的最快捷的資料
d)t購買書籍學習入門和見識範例。百度一下,就能找到很多書面的教材,或者聯繫SolidWorks具備資格的代理商,購買官方API教程。
e)t學會查幫助,找到API 中,I=Interface, 所謂的介面。這才是真正的API二次開發。要懂得查詢SolidWorks中各個對象,層次的Member/Method/Properties等介面。幫助文件里還有很多線程的API Sample範例,可以參考其做法,結合你的實際需要,對其進行改寫,方便你的學習和開發。
f)t正版用戶,可以在http://www.SolidWorks.com 註冊門戶登陸:Customer Portal,然後進入官方的API 論壇,進行提問,這裡有來自全世界的SolidWorks API高手回應你的提問,並以郵件的方式提醒答覆,時效性非常好(當有任何人回復你的帖子的時候,論壇的伺服器會發送郵件通知你,這也是正版用戶專屬得到的好處之一)。甚至有時候,還會直接有現成的代碼可以引用,相當不錯的。當然,你需要具備一定的英文書寫和表達能力,老外可不認什麼中文。筆者很喜歡使用這裡的資源,而且幫助解決了不少的API問題。
- SolidWorks正版序列號註冊用戶賬號(使用一個電子郵箱),然後登入(必須是正版序列號才可以)。
- 進入API forum(API論壇)
- 然後就可以在此和來自全世界的SW API高手交流了。
最後,有以下的截圖詳細告訴大家如何進入SolidWorks 的二次開發論壇:
圖5
圖6
圖7
圖8
圖9
圖10
學習SOLIDWORKS,沒去處?搜索智誠科技ICT,SOLIDWORKS實用技巧_SOLIDWORKS使用技巧_Solidworks使用教程_Solidworks教程全集 還有技術人員指導。
推薦閱讀:
※SolidWorks曲面建模 - 煙斗的設計過程
※SOLIDWORKS必備技能|SOLIDWORKS如何更改工程圖尺寸線顏色?
TAG:SolidWorks | 开放API | 二次开发 |