posts - 485, comments - 590, trackbacks - 0, articles - 0

PipeCAD - Admin

Posted on 2021-07-11 20:27 eryar 阅读(204) 评论(0)  编辑 收藏 引用 所属分类: 1.PipeCAD

PipeCAD - Admin

eryar@163.com

 

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是类似的。

PipeCADAdmin模块数据也是树结构,每个树结点对应一种类型,不同类型会有不同的属性数据。整个数据结构简单,清晰。

 

5. Conclusion

初步实现PipeCAD项目管理功能,为后面的用户登录,元件库数据存储及设计数据保存做好基础。

完成PipeCAD数据库设计,使其简单、易维护。基本做到可以兼容PDMS数据,包括Reference Number的生成,一些具有引用关系的属性处理等。虽然现在使用SQLite,后面也可以快速切换到PostgreSQL数据库,为大型项目的设计提供数据支持。

致力于不依赖AutoCAD的国产三维管道设计软件的开发,若您有任何意见、建议,欢迎交流。
为了方便大家在移动端也能看到我的博文和讨论交流,现已注册微信公众号,欢迎大家扫描下方二维码关注。
Shing Liu(eryar@163.com)

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理