引子
學(xué)習(xí)編程以來,接觸過Basic
,C/C++
,Swift
,JavaScript
和Python
五種語言,其中最愛的當(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)個贊。