基于ObjectArx进行cad二次开发总结
最近有人問(wèn)我ObjectArx怎么學(xué)?有c++的底子,懂一點(diǎn)MFC,會(huì)CAD的操作,基本上就可以了。寫(xiě)一些適合自己繪圖的arx插件,很容易,也很方便。如果是想更深入的研究下去,那就需要更多的知識(shí)儲(chǔ)備,包括計(jì)算機(jī)圖形學(xué),包括其他專業(yè)知識(shí)等等。以下是我當(dāng)時(shí)跟他講的一些我自己認(rèn)為的CAD開(kāi)發(fā)的知識(shí)點(diǎn)。
一個(gè)人開(kāi)發(fā)適合自己使用的工具集不難,難在做通用的大型插件集合。
大型軟件,自己一個(gè)人搞,太痛苦了,也太封閉了,你認(rèn)為難寫(xiě)的東西可能別人已經(jīng)做的很成熟了,所以平時(shí)可以多去論壇溝通,多看看別人寫(xiě)的優(yōu)秀的插件。
通用型就更不用說(shuō),就結(jié)構(gòu)專業(yè)而言,你通過(guò)參數(shù)化繪圖畫(huà)出來(lái)的東西,可能和別人設(shè)計(jì)院的標(biāo)準(zhǔn)不一樣,興許連圖層名稱都不一樣。
市面上流傳的大型軟件一般來(lái)說(shuō)都是已經(jīng)很成熟,所有的設(shè)計(jì)院都使用了它的標(biāo)準(zhǔn)或者基于它的標(biāo)準(zhǔn)再定制,以天正和探索者為例子。
我當(dāng)初在設(shè)計(jì)院工作的時(shí)候,公司有一個(gè)人懂得lisp開(kāi)發(fā),然后他做了一套工具集,類似于結(jié)構(gòu)專業(yè)的小伙工具箱。
它包含了結(jié)構(gòu)需要的大部分功能,包括建模,計(jì)算書(shū)的插入歸并,墻柱工具,基礎(chǔ),基本繪圖-畫(huà)墻梁板住,批量打印,審圖標(biāo)記,選擇易,配筋助手,快速改筋還有大量的計(jì)算小軟件等等,由于只在公司內(nèi)部使用,所以它里面規(guī)定的圖層,文字樣式,線形,打印樣式等都是獨(dú)立的。
這個(gè)軟件可能到其他設(shè)計(jì)院,就沒(méi)有那么強(qiáng)的通用性了。
我記得有一次新版本演示的時(shí)候,當(dāng)時(shí)結(jié)構(gòu)老大說(shuō),這個(gè)工具經(jīng)過(guò)公司結(jié)構(gòu)部門(mén)的使用和反饋,如果沒(méi)有問(wèn)題,到時(shí)候公司20W的價(jià)格買(mǎi)下了。當(dāng)然,軟件的加密和后期的維護(hù)的價(jià)格肯定也算在這個(gè)價(jià)格里面,也不算多。我當(dāng)時(shí)離開(kāi)的時(shí)候,版本更新到了3.0,現(xiàn)在也不知道后面怎么樣了。
我印象很深的是它里面有一個(gè)功能叫做文字替代,這個(gè)有啥用呢。假設(shè)有一個(gè)鋼筋文字是2d20,2根20的鋼筋,然后你想修改為2d10,那你怎么改,配筋助手倒是有這個(gè)功能,可以給個(gè)面板直接修改,但是也慢。
也有類似屏幕改字的功能,但是都寫(xiě)的不好。它這個(gè)功能就是你按下1的數(shù)字建,然后鼠標(biāo)點(diǎn)擊到鋼筋文字的2上面,就改好了,速度很快。它唯一不好的地方在于犧牲了數(shù)字鍵改成快捷鍵的優(yōu)勢(shì)。有人喜歡把1,2,3等數(shù)字鍵改成修改實(shí)體顏色功能。。。
自己寫(xiě)插件,可以大大加快自己的畫(huà)圖效率,普通人用cad,學(xué)會(huì)使用樣板文件,學(xué)會(huì)使用塊,參照,學(xué)會(huì)cad的大部分功能,繪圖效率就比大部分人強(qiáng)太多了。如果需要更快,那也只能從二次開(kāi)發(fā)入手,lisp,c#,vba,c++都是合適的,c++算是里面難度較大的,但是效益也高。我本人不太喜歡lisp,感覺(jué)lisp編程有點(diǎn)反人類。但是lisp是可以和objectarx通信的,這一點(diǎn)倒是挺好,可以和別人合作。
關(guān)于寫(xiě)代碼,一般來(lái)說(shuō)搞畫(huà)圖的人學(xué)cad二次開(kāi)發(fā),代碼質(zhì)量一般都不是太好,這個(gè)就需要下功夫了,多看看別人好的代碼是怎么寫(xiě)的。我記得有個(gè)網(wǎng)友給我看了他寫(xiě)的代碼,一個(gè)工程里面寫(xiě)了好多通用類,比如CLineUtil,CArcUtil等等,但是他沒(méi)有把這些封裝到一個(gè)DLL里面,導(dǎo)致一個(gè)ARX的文件大小就5,6M,關(guān)鍵是這個(gè)ARX可能只有一個(gè)功能。還有就是一個(gè)cpp文件,里面的代碼有1萬(wàn)多行。嗯,不多說(shuō)了。。。
總結(jié)
以上是生活随笔為你收集整理的基于ObjectArx进行cad二次开发总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: MAC地址及对应的厂商
- 下一篇: premature end of fil