無責任不定時可能不會再更新型API技術文章

日期:2022-05-25 16:22:09 發布者: 智誠科技ICT 瀏覽次數:

最近發現很多同鞋都在詢問有沒有關於二次開發的資料。鄙人老實說,其實是有的,隨便一家淘寶或者京東找Solidwork的教程書籍找到二次開發的就可以了。不過鑒於內容過於苦澀,枯燥。這裡我籠統講解一下Solidwork二次開發代碼的基礎架構。

◆◆

關注智誠科技微信公眾號ICT1994

◆◆

 

最近一直在做標准件二開的相關工作,不過由於年中工作較多,導致進度比較緩慢。文章也沒有更新,這廝潑猴不是在擼啊擼上分,就是開刀塔三秒選大聖。而筆者最近也沉迷輻射避難所養小人而不能自拔,噫!

 

 

不過,還是有實質的東西我還是能拿出來給諸位用用的。鄙人根據國標做了一個半圓頭帶椓螺栓的一鍵生成宏。不過暫時只支持Solidwork2017版本。根據以後反應我再修改成低版本使用(主要還是懶!)。

 

 

最近發現很多同鞋都在詢問有沒有關於二次開發的資料。鄙人老實說,其實是有的,隨便一家淘寶或者京東找Solidwork的教程書籍找到二次開發的就可以了。不過鑒於內容過於苦澀,枯燥。這裡我籠統講解一下Solidwork二次開發代碼的基礎架構。

 

 

 

 

 

 

 

 

大家肯定不會憑空徒手編寫一個完整的能運行的SW宏,或者無間斷不停歇地從頭到尾錄制一個自己完整建模的SW宏。相信大家在抱住學習第一的心態,在看完這篇文章以後........

 

 

 

 

 

 

 

 

 

 

 

 

也是不會的,別想太多。

 

 

記代碼這麼麻煩的事情我是不會做的,所以下面我們拿最常用的錄制宏所生成的代碼給諸位作講解之用。

隨便錄制一個宏,簡單操作一下Solidwork界面。甚至不操作,直接結束保存都可。保存完畢後,選擇編輯我們剛剛新錄制的Solidwork宏。可以發現如下幾條祖傳代碼。

 

Set swApp = Application.Sldworks

 

(此語句基本上為所有SW宏開發的基礎語句,除非該宏內容不涉及任何SW文件)

 

Set swModel = swap.ActiveDoc

 

(此語句基本上為所有基於現開啟的SW文件的宏開發基礎語句,除非該宏內容不涉及任何SW文件。重點說明一下,此語句幾乎在所有錄制宏操作中都出現,但實際上,並不是所有功能都基於此語句。定義改語句後,此後幾乎所有現模型參數的調用皆基於此swModel)

 

上文第一句定義swApp這條語句為基礎語句。這裡要簡單講解一下sw宏的字段。以添加sw配置特定屬性這個功能為例。(下面語句要視乎Solidwork版本是否兼容,例子以Solidwork2017為例)

 

Sub main()

Set swApp = Application.Sldworks

Set swModel = swap.ActiveDoc

swModel.AddCustomInfo3 ”默認”, ”添加的屬性”, swCustomInfoText, “See me!”

End sub

例1-1

 

上面所示短宏(例1-1)即為我們的開啟文件添加了一個配置特定的屬性,對應的屬性名字為”添加的屬性”,值為”See me!”。而事實上,上面語句可以簡單縮短為一句。(下面語句要視乎Solidwork版本是否兼容,例子以Solidwork2017為例)

 

Sub main()

Application.Sldworks.ActiveDoc.AddCustomInfo3 ”默認”, ”添加的屬性”, swCustomInfoText, “See me!”

End sub

例1-2

 

上面所示短宏(例1-2)同樣實現了我們例1-1的功能。相比之下,例1-2更加簡短,精煉。不過,由於在實際開發中我們並不是單單為了實現一個簡單的功能,如果我們每條代碼都從源(Application)開始調用成員,代碼會變得相到冗余。需調用的功能越多,你就會發現其實例1-1的編碼思路越簡潔。所以,在實際開發中我們還是提倡使用例1-1的編碼方式。

 

因此,從上述例子對比可以知道,SW宏的編程其實是基於已有角色一個一個選取調用數據參數來實現對應功能。在代碼中將我們常用的角色設置為變量後,後續參數的變更或者增刪就可以直接基於此變量,無需再從源頭開始抽調。設置後的變量地位類似於在VB中Option Base所設置的參數一樣,可以重復使用。

 

了解了SW宏的角色調用後,現在回到我們最基礎的swApp變量中。在上面的舉例中我們所設置生成的swModel參數,其實是將調控對像設置在現開啟的模型中(ActiveDoc)。當然,除此之外我們還能將swModel設置成如獲取Solidworks窗體大小,Solidworks窗體的控制等等其他功能,更詳細的設置可以查閱ISldWorks member欄目。(Solidwork官網API欄目,ISldWorks對應swApp類型)學有余力或者閑得蛋疼的童鞋們可以去看一下。全部都是拼音而已(喂!),簡單得很。

 

 

以上就是本文全部內容。個人感覺還是比較簡單,不難理解。好事者完全可以上官網看看相關的角色代碼。代碼這事情,最好還是多測試,多debug。接下來等再有時間才填下一個坑吧。

·

·

·

·

·

·

·

·

·

·

·

·

 

  • 點贊
  • 收藏