親自動手寫一個Python庫(一)

引子

學(xué)習(xí)編程以來,接觸過Basic,C/C++,Swift,JavaScriptPython五種語言,其中最愛的當(dāng)屬Python,簡潔的語法和豐富的庫讓我一直沉迷于此,盡管最近實(shí)習(xí)工作中用的是C++

人生苦短,快用Python

最近一年,我將大把的時間投入到學(xué)習(xí)編程中,收獲了滿滿的成就感,希望未來工作之后,還能保持對編程的愛。學(xué)習(xí)Python以后,經(jīng)常感慨開源的偉大,我也一直希望自己能成為這光榮世界的一員,所以趁著工作中需要,利用業(yè)余時間開發(fā)一個Python庫解決CAA開發(fā)中遇到的問題。

需求

從去年十二月份至今,斷斷續(xù)續(xù)地接觸了DS CAA開發(fā)工作,很多人可能并不了解DS CAA。無論是手機(jī)家電之類的消費(fèi)電子產(chǎn)品還是飛機(jī)輪船等大型制造產(chǎn)品,在制造之前都需要采用CAD軟件進(jìn)行設(shè)計。從上世紀(jì)60年代CAD軟件開始商用至今,歷經(jīng)技術(shù)的不斷變革和各家公司的兼并聯(lián)合,已經(jīng)形成達(dá)索、西門子、PTC“三國爭霸”的局面。我實(shí)習(xí)公司主推的是達(dá)索的CAD軟件,即CATIA。在CAD領(lǐng)域,我們將利用廠商提供的API在已經(jīng)成型的CAD軟件上增加一些程序(功能)稱之為“二次開發(fā)”,上面所述的DS CAA就是對CATIA的二次開發(fā)。

DS CAA采用的開發(fā)語言是C++,由于是完全的基于SDK和API的開發(fā),往往開發(fā)工作要受限于達(dá)索的接口和框架。開發(fā)中大量的精力不得不花費(fèi)在閱讀達(dá)索API接口文檔,查找API,查找模塊,查找框架之中,做過類似工作的人一定能理解這其中的個把心酸。在慢慢的工作中,逐漸有了想法,將散落于文檔中的API接口用數(shù)據(jù)庫管理,根據(jù)自己所寫的程序自動添加頭文件,模塊和框架。當(dāng)然采用最愛的Python寫一個庫來解決這一問題,也許并不是最好的解決辦法,但我愿意就好,也希望能幫助的苦逼的CAA開發(fā)者。

環(huán)境搭建

廢話已經(jīng)說了太多,我們下面將利用PyCharm結(jié)合VirtualEnv搭建項目環(huán)境。

安裝好Pycharm后,點(diǎn)擊configure->Preferecnces進(jìn)入設(shè)置頁面,找到Project Interpreter設(shè)置選項,該選項顯示了當(dāng)前可用的Python解釋器,點(diǎn)擊右上角設(shè)置圖標(biāo),然后選擇Create VirtualEnv來創(chuàng)建一個Python虛擬環(huán)境,虛擬環(huán)境的好處是你可以針對自己的虛擬Python環(huán)境為所欲為,而不用擔(dān)心搞壞系統(tǒng)的Python環(huán)境,筆者曾經(jīng)將Mac上的Python環(huán)境搞崩潰后,只得默默重裝系統(tǒng)。此外,Pycharm還可以方便的幫你管理虛擬環(huán)境的Python包,點(diǎn)擊左下角?即可添加庫到當(dāng)前環(huán)境中。



當(dāng)然,此虛擬環(huán)境同樣可以通過命令行激活,如我的虛擬環(huán)境安裝位置為:~/Developer/Python3Env,里面VirtualEnv會幫我們搭建好一整套Python所需的包和執(zhí)行命令。

// 激活虛擬環(huán)境
$ source ~/Developer/Python3Env/bin/activate
// 退出虛擬環(huán)境
$ deactivate

結(jié)下來就用Pycharm創(chuàng)建一個項目,只需注意選擇一個虛擬環(huán)境即可,我給自己的項目起了個還不錯的名“CAAFinder”,項目已經(jīng)放在GitHub上面,如果有CAA開發(fā)者看到,歡迎和我一起完善項目,也歡迎你可以測試它。即使你不是CAA開發(fā)者,也希望在Github上面點(diǎn)個贊。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容