PipeCAD之管道標(biāo)準(zhǔn)庫(kù)PipeStd
eryar@163.com
Key Words. PipeCAD, PipeStd, 管道設(shè)計(jì)軟件,管件庫(kù)
1. Introduction
前不久,兩位老友徐總和毛總在上海浦東金橋的一茶一坐小聚,回想到幾年前我們仨在那里聚會(huì)的情景。他們分別在A公司和I公司,我當(dāng)時(shí)在做SPD的開(kāi)發(fā)。在一起聊的話題也是關(guān)于設(shè)計(jì)軟件的,當(dāng)時(shí)也有一些思想碰撞的火花,想著做出一個(gè)什么軟件,成為CEO,迎娶白富美,走上人生頂峰。結(jié)果幾年過(guò)去,當(dāng)年吹過(guò)的牛B,沒(méi)有實(shí)現(xiàn)。其中有一個(gè)就是做一個(gè)管道標(biāo)準(zhǔn)庫(kù)程序,方便管件的定義。定義好之后,可以導(dǎo)入AVEVA PDMS和Intergraph SmartPlant。
看著國(guó)內(nèi)工廠/船舶設(shè)計(jì)軟件如PDSOFT,UESOFT,PDMAX還有船舶設(shè)計(jì)軟件SPD都不溫不火,而且國(guó)外的AVEVA PDMS/Marine, Intergraph SmartPlant已經(jīng)占據(jù)了國(guó)內(nèi)市場(chǎng),有時(shí)我也在想開(kāi)發(fā)一個(gè)原來(lái)夢(mèng)想的管道設(shè)計(jì)軟件的意義和價(jià)值。
AVEVA PDMS/Marine我覺(jué)得是簡(jiǎn)單易用的軟件,一致的操作方式,基于CSG的造型算法,還提供了二次開(kāi)發(fā)語(yǔ)言PML及C#來(lái)對(duì)程序進(jìn)行靈活擴(kuò)展。基于文件的層次數(shù)據(jù)庫(kù),并提供了數(shù)據(jù)庫(kù)的增、刪、改及數(shù)據(jù)回退功能,可以用于大中型項(xiàng)目設(shè)計(jì)。由于很容易得到和諧版,所以用戶很多。
Intergraph SmartPlant是美國(guó)的一款軟件,由于其價(jià)格昂貴,在國(guó)內(nèi)的用戶都是不差錢的單位。由于沒(méi)有使用過(guò),所以對(duì)其不便于評(píng)價(jià)。但是由于國(guó)內(nèi)外有業(yè)主會(huì)指定這款軟件,所以國(guó)際上用戶也很多。
再看國(guó)內(nèi)的工廠/船舶設(shè)計(jì)系統(tǒng)PDSOFT,UESOFT,PDMAX及SPD等,都是基于AutoCAD開(kāi)發(fā)的。早期基于AutoCAD,因?yàn)?/span>AutoCAD比較普及,所以會(huì)吸引一些會(huì)AutoCAD的用戶。但是基于AutoCAD開(kāi)發(fā)程序弊端之一是AutoCAD版本升級(jí),程序要想適應(yīng)AutoCAD,也必須跟著升級(jí)。弊端二是AutoCAD的提供的開(kāi)發(fā)庫(kù)ObjectARX, .NET等都不是開(kāi)源的,如果是那些庫(kù)出現(xiàn)BUG或是不支持的功能,要么去和Autodesk公司溝通,要么只有繞道了。有的使用ObjectARX的C++庫(kù)開(kāi)發(fā),雖然程序性能好,還在使用MFC做GUI,但是開(kāi)發(fā)效率低。弊端之三是有些功能與AutoCAD的功能糾纏不清,用戶體驗(yàn)不太友好。
為了實(shí)現(xiàn)幾年前的夢(mèng)想,我決定開(kāi)發(fā)一個(gè)管道設(shè)計(jì)軟件PipeCAD。
2. PipeCAD
對(duì)PipeCAD的一個(gè)定位就是適用于中小型項(xiàng)目的管道設(shè)計(jì)軟件。因?yàn)榇笮晚?xiàng)目的用戶一般都是用PDMS或SmartPlant。
使用開(kāi)源庫(kù)OpenCASCADE來(lái)進(jìn)行三維圖形開(kāi)發(fā),使用開(kāi)源庫(kù)Qt來(lái)進(jìn)行GUI開(kāi)發(fā),提高程序開(kāi)發(fā)效率。因?yàn)槭褂瞄_(kāi)源技術(shù),出現(xiàn)BUG可以從根據(jù)上解決。不依賴其他閉源的軟件,不會(huì)有其他軟件升級(jí)帶來(lái)的影響。
業(yè)務(wù)核心功能都自己實(shí)現(xiàn),程序自主可控,方便增加新功能。
PipeCAD的初步開(kāi)發(fā)以下功能模塊:
l 管件庫(kù)等級(jí)庫(kù)管理程序PipeStd;
l 三維設(shè)計(jì)模塊PipeCAD;
l 管道軸測(cè)圖出圖模塊IsoAlgo。
3. PipeStd
PipeStd主要用來(lái)對(duì)管件標(biāo)準(zhǔn)數(shù)據(jù)、管道等級(jí)等數(shù)據(jù)進(jìn)行管理。有了管件數(shù)據(jù),就可以對(duì)管件進(jìn)行三維顯示。有了管道等級(jí),就可以在三維設(shè)計(jì)模塊來(lái)使用管件來(lái)對(duì)管道進(jìn)行建模。PipeStd的使用方式與PDMS的Paragon模塊類似,通過(guò)參數(shù)化的方式來(lái)定義管件。目前程序的主要功能已經(jīng)實(shí)現(xiàn),程序界面如下圖所示:

其中還設(shè)想的功能有:
l 導(dǎo)入、導(dǎo)出PDMS中的管件及管道等級(jí)Piping Specification數(shù)據(jù);
l 導(dǎo)入、導(dǎo)出SmartPlant中的管件及管道等級(jí)Piping Specification數(shù)據(jù);
4. Conclusion
兩位友人的提醒,決定開(kāi)發(fā)一個(gè)三維管道設(shè)計(jì)軟件PipeCAD。為中小型項(xiàng)目的管道設(shè)計(jì)提供了一個(gè)選擇。核心功能都自己實(shí)現(xiàn),程序自主可控。不依賴其他軟件,如AutoCAD,提供良好的用戶體驗(yàn)。