天天看點

C#之CAD二次開發(3) 函數封裝

1. 封裝函數

封裝是什麼,我就不做解釋了,預設大家都是有C#或者其他程式設計語言基礎的。在座的各位都是要成為大佬的,說話放肆點!

因為我們之前的代碼,比如事務處理這一段:

C#之CAD二次開發(3) 函數封裝

這都是固定的,以後不可能沒寫一個新的程式都要去寫一次吧,為了代碼複用,是以就把它封裝起來啦!以後用直接調用封裝好的函數就行了。

還有之前建立直線的代碼,不可能每次有需要都去寫一遍,為了友善嘛,程式的最終目的不就是友善,提高效率嗎?是以也将其封裝起來!以後直接調用即可!

2. 怎麼封裝

建立一個項目,把我們要建立的圖形都封裝好放在裡面,這樣以後要用的時候直接用就好了,友善以後進一步開發!

C#之CAD二次開發(3) 函數封裝

這裡寫啰嗦一點,照顧小白!

每次建立項目,都記得添加引用,并在其屬性中将複制到本地一值改為False。

建立類AddEntityTools 用來進行封裝

C#之CAD二次開發(3) 函數封裝

全部代碼如下

C#之CAD二次開發(3) 函數封裝

上述代碼實作一次添加一個圖形檔案

如何添加多個呢?隻需要在傳入參數中聲明一個可變參數

C#之CAD二次開發(3) 函數封裝

然後在添加塊表記錄之後對entId進行循環周遊

C#之CAD二次開發(3) 函數封裝

全部代碼

C#之CAD二次開發(3) 函數封裝

然後在将上一篇建立的Y用于繪制直線的LineExam類添加進來,或者重新建立一個LineExam類。

在LineExam進行調用即可

繪制一個圖形

C#之CAD二次開發(3) 函數封裝

繪制多個圖形函數調用

C#之CAD二次開發(3) 函數封裝

封裝直線繪制函數

這樣調用還是麻煩,能不能進一步将直線繪制也進行封裝呢?

答案當然是可以的

第一種:傳入起點,終點坐标作為參數

C#之CAD二次開發(3) 函數封裝

第二種:知道起點坐标,角度和長度如何繪制

C#之CAD二次開發(3) 函數封裝

起始最後也是轉化為起點和終點,進行繪制。利用給的角度長度和起點坐标,計算終點坐标!

因為CAD裡面使用的都是弧度,是以需要轉化為我們習慣使用的角度

裡面的DegreeAngle也封裝好了,這裡建立了一個BaseTools類用于存放基本工具函數的封裝

C#之CAD二次開發(3) 函數封裝

在LineExam類中調用封裝直線繪制函數進行測試

C#之CAD二次開發(3) 函數封裝

是不是友善了很多!

通過本次筆記學習了如何封裝,下一次就會把基本的圖形繪制都封裝起來,以便後面進一步開發的時候利用。

完整代碼位址:

https://gitee.com/yuzhaokai/cad_secondary_development_code.git

愛就大聲說出來哦!喜歡請關注公衆号!資料智能筆記

C#之CAD二次開發(3) 函數封裝