Key Words. PipeCAD, 三維管道設計軟件,項目管理數據庫
PipeCAD管理模塊Admin主要實現項目數據的管理:建立組Team,用戶User和工做區數據集MDB,項目數據庫DB等,並給用戶分配權限。微信
經過數據庫的設計,使其結構兼容PDMS數據庫。兼容PDMS數據有不少優勢,如能夠導入PDMS項目數據,作到PDMS項目複用。也能夠導出PDMS數據,使PipeCAD項目能夠導入到PDMS中。數據結構
在PDMS中有Reference Number概念,實際上也是項目數據庫中每一個對象惟一標示。上圖所示爲其Reference Number生成算法。Reference Number由兩部分組成:第一部分由數據庫文件編號和bucket號組成。bucket號是表示同時使用一個數據庫文件的用戶數。第二部分是從0開始的一個遞增序號。數據庫設計
經過這兩部分來組成一個惟一的標識,確保一個Reference Number在項目中惟一。這個編號至關於數據庫的OID,即對象惟一標示號。之前還考慮過Twitter的雪花snowflake算法,對於分佈式系統中,須要使用全局惟一ID的場景,snowflake算法仍是不錯的選擇的。OID的生成對數據庫的設計影響仍是比較大的。把PDMS生成Reference Number摘出來作個筆記,也是方便本身加深印象和查找。分佈式
PipeCAD啓動也經過批處理來配置項目信息,方便項目統一配置管理。啓動後,選擇項目及用戶,MDB,模塊,輸入密碼等就能夠登陸相應模塊,目前只須要三大模塊就能夠完成管道設計功能:管理模塊Admin;元件庫模塊Paragon和設計模塊Design。統一在Design模塊完成模型設計及自動出圖、出材料。ide
PipeCAD的管理模塊Admin也作相應的簡化處理。經過數據庫的設計,每種類型的數據模式Schema保持一致。如Admin模塊中使用到的System數據庫;Paragon模塊使用的CATA數據庫;Design模塊使用的DESI數據庫。雖然數據庫中內容不一樣,可是基本Schema是相似的。spa
PipeCAD的Admin模塊數據也是樹結構,每一個樹結點對應一種類型,不一樣類型會有不一樣的屬性數據。整個數據結構簡單,清晰。設計
初步實現PipeCAD項目管理功能,爲後面的用戶登陸,元件庫數據存儲及設計數據保存作好基礎。3d
完成PipeCAD數據庫設計,使其簡單、易維護。基本作到能夠兼容PDMS數據,包括Reference Number的生成,一些具備引用關係的屬性處理等。雖然如今使用SQLite,後面也能夠快速切換到PostgreSQL數據庫,爲大型項目的設計提供數據支持。
致力於不依賴AutoCAD的國產三維管道設計軟件的開發,若您有任何意見、建議,歡迎交流。