PipeCAD - Admin
Key Words. PipeCAD, 三维管道设计软件,项目管理
1. Introduction
PipeCAD管理模块Admin主要实现项目数据的管理:创建组Team,用户User和工作区数据集MDB,项目数据库DB等,并给用户分配权限。
通过数据库的设计,使其结构兼容PDMS数据库。兼容PDMS数据有很多优点,如可以导入PDMS项目数据,做到PDMS项目复用。也可以导出PDMS数据,使PipeCAD项目可以导入到PDMS中。
2. Reference Number
在PDMS中有Reference Number概念,实际上也是项目数据库中每个对象唯一标示。上图所示为其Reference Number生成算法。Reference Number由两部分组成:第一部分由数据库文件编号和bucket号组成。bucket号是表示同时使用一个数据库文件的用户数。第二部分是从0开始的一个递增序号。
通过这两部分来组成一个唯一的标识,确保一个Reference Number在项目中唯一。这个编号相当于数据库的OID,即对象唯一标示号。以前还考虑过Twitter的雪花snowflake算法,对于分布式系统中,需要使用全局唯一ID的场景,snowflake算法还是不错的选择的。OID的生成对数据库的设计影响还是比较大的。把PDMS生成Reference Number摘出来做个笔记,也是方便自己加深印象和查找。
3. Login
PipeCAD启动也通过批处理来配置项目信息,方便项目统一配置管理。启动后,选择项目及用户,MDB,模块,输入密码等就可以登录相应模块,目前只需要三大模块就可以完成管道设计功能:管理模块Admin;元件库模块Paragon和设计模块Design。统一在Design模块完成模型设计及自动出图、出材料。
4.Admin
PipeCAD的管理模块Admin也做相应的简化处理。通过数据库的设计,每种类型的数据模式Schema保持一致。如Admin模块中使用到的System数据库;Paragon模块使用的CATA数据库;Design模块使用的DESI数据库。虽然数据库中内容不同,但是基本Schema是类似的。
PipeCAD的Admin模块数据也是树结构,每个树结点对应一种类型,不同类型会有不同的属性数据。整个数据结构简单,清晰。
5. Conclusion
初步实现PipeCAD项目管理功能,为后面的用户登录,元件库数据存储及设计数据保存做好基础。
完成PipeCAD数据库设计,使其简单、易维护。基本做到可以兼容PDMS数据,包括Reference Number的生成,一些具有引用关系的属性处理等。虽然现在使用SQLite,后面也可以快速切换到PostgreSQL数据库,为大型项目的设计提供数据支持。
致力于不依赖AutoCAD的国产三维管道设计软件的开发,若您有任何意见、建议,欢迎交流。