Posted on 2021-07-11 20:27
eryar 閱讀(523)
評(píng)論(0) 編輯 收藏 引用 所屬分類(lèi):
1.PipeCAD
PipeCAD - Admin
eryar@163.com
Key Words. PipeCAD, 三維管道設(shè)計(jì)軟件,項(xiàng)目管理
1. Introduction
PipeCAD管理模塊Admin主要實(shí)現(xiàn)項(xiàng)目數(shù)據(jù)的管理:創(chuàng)建組Team,用戶User和工作區(qū)數(shù)據(jù)集MDB,項(xiàng)目數(shù)據(jù)庫(kù)DB等,并給用戶分配權(quán)限。
通過(guò)數(shù)據(jù)庫(kù)的設(shè)計(jì),使其結(jié)構(gòu)兼容PDMS數(shù)據(jù)庫(kù)。兼容PDMS數(shù)據(jù)有很多優(yōu)點(diǎn),如可以導(dǎo)入PDMS項(xiàng)目數(shù)據(jù),做到PDMS項(xiàng)目復(fù)用。也可以導(dǎo)出PDMS數(shù)據(jù),使PipeCAD項(xiàng)目可以導(dǎo)入到PDMS中。
2. Reference Number

在PDMS中有Reference Number概念,實(shí)際上也是項(xiàng)目數(shù)據(jù)庫(kù)中每個(gè)對(duì)象唯一標(biāo)示。上圖所示為其Reference Number生成算法。Reference Number由兩部分組成:第一部分由數(shù)據(jù)庫(kù)文件編號(hào)和bucket號(hào)組成。bucket號(hào)是表示同時(shí)使用一個(gè)數(shù)據(jù)庫(kù)文件的用戶數(shù)。第二部分是從0開(kāi)始的一個(gè)遞增序號(hào)。

通過(guò)這兩部分來(lái)組成一個(gè)唯一的標(biāo)識(shí),確保一個(gè)Reference Number在項(xiàng)目中唯一。這個(gè)編號(hào)相當(dāng)于數(shù)據(jù)庫(kù)的OID,即對(duì)象唯一標(biāo)示號(hào)。以前還考慮過(guò)Twitter的雪花snowflake算法,對(duì)于分布式系統(tǒng)中,需要使用全局唯一ID的場(chǎng)景,snowflake算法還是不錯(cuò)的選擇的。OID的生成對(duì)數(shù)據(jù)庫(kù)的設(shè)計(jì)影響還是比較大的。把PDMS生成Reference Number摘出來(lái)做個(gè)筆記,也是方便自己加深印象和查找。
3. Login
PipeCAD啟動(dòng)也通過(guò)批處理來(lái)配置項(xiàng)目信息,方便項(xiàng)目統(tǒng)一配置管理。啟動(dòng)后,選擇項(xiàng)目及用戶,MDB,模塊,輸入密碼等就可以登錄相應(yīng)模塊,目前只需要三大模塊就可以完成管道設(shè)計(jì)功能:管理模塊Admin;元件庫(kù)模塊Paragon和設(shè)計(jì)模塊Design。統(tǒng)一在Design模塊完成模型設(shè)計(jì)及自動(dòng)出圖、出材料。

4.Admin
PipeCAD的管理模塊Admin也做相應(yīng)的簡(jiǎn)化處理。通過(guò)數(shù)據(jù)庫(kù)的設(shè)計(jì),每種類(lèi)型的數(shù)據(jù)模式Schema保持一致。如Admin模塊中使用到的System數(shù)據(jù)庫(kù);Paragon模塊使用的CATA數(shù)據(jù)庫(kù);Design模塊使用的DESI數(shù)據(jù)庫(kù)。雖然數(shù)據(jù)庫(kù)中內(nèi)容不同,但是基本Schema是類(lèi)似的。
PipeCAD的Admin模塊數(shù)據(jù)也是樹(shù)結(jié)構(gòu),每個(gè)樹(shù)結(jié)點(diǎn)對(duì)應(yīng)一種類(lèi)型,不同類(lèi)型會(huì)有不同的屬性數(shù)據(jù)。整個(gè)數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)單,清晰。

5. Conclusion
初步實(shí)現(xiàn)PipeCAD項(xiàng)目管理功能,為后面的用戶登錄,元件庫(kù)數(shù)據(jù)存儲(chǔ)及設(shè)計(jì)數(shù)據(jù)保存做好基礎(chǔ)。
完成PipeCAD數(shù)據(jù)庫(kù)設(shè)計(jì),使其簡(jiǎn)單、易維護(hù)。基本做到可以兼容PDMS數(shù)據(jù),包括Reference Number的生成,一些具有引用關(guān)系的屬性處理等。雖然現(xiàn)在使用SQLite,后面也可以快速切換到PostgreSQL數(shù)據(jù)庫(kù),為大型項(xiàng)目的設(shè)計(jì)提供數(shù)據(jù)支持。
致力于不依賴AutoCAD的國(guó)產(chǎn)三維管道設(shè)計(jì)軟件的開(kāi)發(fā),若您有任何意見(jiàn)、建議,歡迎交流。
為了方便大家在移動(dòng)端也能看到我的博文和討論交流,現(xiàn)已注冊(cè)微信公眾號(hào),歡迎大家掃描下方二維碼關(guān)注。