PDMS土建设计培训手册:三维布置设计管理系统

版权申诉
0 下载量 171 浏览量 更新于2024-06-27 收藏 495KB DOCX 举报
"PDMS土建设计培训手册涵盖了如何在VPD (VANTAGE Plant Design System) 中进行工厂三维布置设计的土建部分,包括墙、地板和刮板的建模。手册详细介绍了数据库的层次结构,以及创建土建设计模型前的准备工作,如SITE、ZONE、STRUCTURE、FRAMEWORK、COMPOUND的创建,以及设置储存区域和楼层标高等操作。" PDMS,全称为Plant Design Management System,是一种广泛用于化工、石油天然气、电力等行业工厂三维设计的软件。该文档重点讲述了在PDMS中进行土建设计的过程,这涉及到工厂布局的基础元素,如墙体、地板等结构的构建。 首先,土建设计的数据库层次结构是至关重要的,它定义了所有设计元素的组织方式。这个层次结构包括SITE、ZONE、STRUCTURE、FRAMEWORK和COMPOUND等不同级别的对象。SITE代表地理位置或项目范围,ZONE则是内部空间划分,STRUCTURE对应建筑物级别,而FRAMEWORK和COMPOUND则分别表示楼层框架和复合结构,如地板和墙。 在开始土建设计之前,需要创建这些管理层次。以用户STRUC登录到SAM项目后,进入DESIGN模块,依次创建SITE、ZONE、STRUCTURE(选择CIVIndustrialBuildings作为Purpose)、FRAMEWORK(如FLOOFloors和WALLWalls),并根据需要指定Purpose。例如,创建名为Building_01_LEVEL_01_FLOORS_01的楼层框架和Building_01_LEVEL_01_WALLS_01的墙体框架。 接着,通过CREATE>Compound命令创建具体的地板(Floor)和墙(Wall)。在同一框架下,可以创建多层结构,例如创建第二层楼的STRU/Building_01_LEVEL_02,并调整其标高。 为了有效管理数据,需要设置储存区域。通过Settings>StorageAreas,可以控制不同层级的存储,如设置ZONE层的标高,以及创建新的楼层STRU/Building_01_LEVEL_03。 此培训手册详细指导了如何使用PDMS进行土建设计,对于理解软件操作流程和实际建模过程非常有帮助。通过遵循这些步骤,设计师能够高效地构建出工厂的三维土建模型,从而为后续的工程设计和施工提供准确的参考。
2022-12-25 上传
设计方案 设计方案全文共14页,当前为第1页。设计方案全文共14页,当前为第1页。 设计方案全文共14页,当前为第1页。 设计方案全文共14页,当前为第1页。 项目说明文档 操作系统课程设计 ——内存管理 作 者 姓 名: 李一凡 学 号: 1852144 学院、 专业: 软件学院 软件工程 同济大学 Tongji University 目录 1 分析 2 1.1 背景分析 2 1.2 功能分析 2 1.3 算法思想 2 2 设计 3 2.1 数据结构设计 3 设计方案全文共14页,当前为第2页。设计方案全文共14页,当前为第2页。2.2 类结构成员 4 设计方案全文共14页,当前为第2页。 设计方案全文共14页,当前为第2页。 2.3 类操作设计 6 1.逻辑块类 6 2.主窗口类 6 2.4 系统流程设计 10 1.所有控件的初始化: 10 2.指令初始化: 11 3.按键绑定: 11 3运行情况 13 1 分析 1.1 背景分析 只涉及到一个作业(进程),而且也没有特别提到说交换区的概念,我们只要把逻辑地址和实际的物理地址对应起来就可以了。主要是FIFO和LRU两种算法实现。 1.2 功能分析 在整个界面中,可以单步、五步、或者连续执行。在文本框有输出提示,对于交换和缺页情况用不同颜色标记的很清楚。 整体指令现规定执行1000次,文本每次最多显示20000行内容,前面多余的部分会自动删除。 可以选择两种算法分别执行,注意:如果单步执行的时候切换算法是可行的,但事实上这么做没有任何意义。 我的指令模拟不是按照老师那样,所以有出入很正常。我是用随机函数,严格按照1:2:1的比率来随机分配指令类型。 1.3 算法思想 FIFO:直接用一个内置的队列,满足先进先出,在队列变化时我们保存弹出来或者添加的逻辑地址即可,用另一个数组来存储对应的物理地址。 设计方案全文共14页,当前为第3页。设计方案全文共14页,当前为第3页。每次调度,先判断指令是否已经在逻辑内存中,如果在,打印提示即可。如果不在,分两种情况:如果内存块有空,则直接调入。如果内存满,发生调度,用队列模拟即可。 设计方案全文共14页,当前为第3页。 设计方案全文共14页,当前为第3页。 LRU:我仍然是用队列,不过是把它只作为判断逻辑内存块是否满的工具。设置一个结构体,存储逻辑块号和对应的访问时间间隔,如果逻辑块被填充而且在一次访问中不命中,则将它的访问间隔增加。如果命中,将访问时间置1,表示刚刚访问过。如果内存块为空,它的访问时间间隔就一直保持为零。 调度在整体与FIFO相似,只是在交换的时候有所不同。在交换前,按照访问间隔排序,将访问间隔最大的逻辑块中的内容交换出去。 2 设计 2.1 数据结构设计 总体上一个主窗口类、逻辑块类,一个物理地址类,还有一个对外输出窗口类。还有一些ui空间(单步、五步、连续执行、两种算法选择)。 设计方案全文共14页,当前为第4页。设计方案全文共14页,当前为第4页。2.2 类结构成员 设计方案全文共14页,当前为第4页。 设计方案全文共14页,当前为第4页。 设计方案全文共14页,当前为第5页。设计方案全文共14页,当前为第5页。 设计方案全文共14页,当前为第5页。 设计方案全文共14页,当前为第5页。 设计方案全文共14页,当前为第6页。设计方案全文共14页,当前为第6页。2.3 类操作设计 设计方案全文共14页,当前为第6页。 设计方案全文共14页,当前为第6页。 1.逻辑块类 一个重启,一个刷新显示。 2.主窗口类 void MainWindow::dealcheck1() { if(ui->algorithm1->isChecked()) { select=FIFOA; } } void MainWindow::dealcheck2() { if(ui->algorithm2->isChecked()) { select=LRUA; } } 这两个来处理算法选择按钮的响应。 void MainWindow::T1full() { double lose1 = double(Miss1) / double(Toperation1); edit0.append("FIFO执行结束."); 设计方案全文共14页,当前为第7页。设计方案全文共14页,当前为第7页。 QString temp3=QString::number(Miss1); 设计方案全文共14页,当前为第7页。 设计方案全文共14页,当前为第7页。 QString temp4=QString::number(lose1*100); temp3="缺页次数:"+temp3+"缺页率:"+temp4+"%"; edit0.append(temp3); edit0.app