Best Practice for WBS iso(译)

之前的文章中,我们介绍过手动分配WBS,以及WBS出图的操作,也讲了如何批量的分配WBS。今天我们翻译一下SmartSupport网站上面的的基于RuleChecker服务自动根据Label分配WBS管理ISO的最佳实践(白皮书)。

简介

许多EPC工程公司都有自己的一套工作流程,比如设计人可以自己设定哪些管道元件出在哪一张ISO图纸上。这个工作流对于ISO图纸的变更管理工作有很大的帮助。在Smart3D中,我们使用工作分解结构来管理这样的ISO图纸。
手动管理WBS的层级结构来完成ISO图纸,在Smart3D的工作中是十分枯燥的,尤其是管道工程设计中的变更又特别的多,项目还是协同的时候。

本文主要介绍了基于RuleChecker服务,利用sheet属性完成WBS层级结构管理生成ISO图纸的工作过程。使用Label的方式达到管理WBS层级的目的,可以将设计人和管理员从管理WBS的工作中解放出来。设计人员只需要保证在设置时,为管道元件输入了正确的相关属性。RuleChecker服务复制完成元件的Claim,WBS对象的创建,以及将管道元件分配到正确的WBS对象中。Rule Checker 服务不对模型做任何的修改,在设计人完成设计变更之后,很短的延迟时间内即可完成响应。

自动WBS管理的RuleChecker安装

本章节将一步步完成自动WBS管理的RuleChecker安装。

1. 在SmartSupport上下载Smart3D-RuleCheckerService.msi相关文件,并安装于准备运行RuleChecker服务的相关机器上。该机器需要满足Smart3D软件对工作站的最低配置。并且所有管理员工作站所需的一切预装软件都要安装。

2. 将CreateWBS.dll 文件从zip 文件中解压,并复制CreateWBS.dll 到[RuleChecker_Install]Smart3D Rule CheckerBin 相关文件夹中。[RuleChecker_Install] 指的是指定的RuleChecker服务程序的安装文件夹。

配置自动管理WBS层级的RuleChecker服务


RuleChecker是作为系统的一个服务在后台运行的,关注的对象是新创建的或者发生了属性改变的对象。RuleChecker将这些判定为新建或者发生改变的对象传递至Rule(本示例中的CreateWBS.dll),然后Rule决定如何处理这些对象。这种情况下,在CreateWBS.dll文件中定制的规则是,判定基于 “WBS Iso Grouping Query – Fabrication”的label返回值,相同的返回值则被合并在一起,并划分至以 “WBS Iso Grouping Query – Fabrication”返回值为名字的WBS对象中。

 

理解Label在这个过程中的作用

在CreateWBS.dl这个规则中,用到了两个label,一个是用来分组的“WBS Iso Grouping Query – Fabrication” ;另一个是 “WBSIsoParent” ,用来判断生成的WBS对象的父级。WBSIsoParent的label是随本方案一同的,返回值为最近的一级Unit层级名称。返回的名称为RuleChecker去判断WBS的父级。“WBS Iso Grouping Query – Fabrication” 返回值为管线名称以及元件的“Isometric Sheet Number” 属性值。基于这些,RuleChecker将一个管线下面的所有 “Isometric Sheet Number”属性值相同的元件进行了分组,并分配至一个WBS对象下。如果在WBS父级对象下,RuleChecker找不到相应的WBS对象名称,则会新建一个WBS对象。

以培训项目中,管线2001-P为例,所有的管件的 “Isometric Sheet Number”属性都给了值为“1”,效果如下:

这个WBSIsoParent 的label,在上面的情况下,返回值是“U02”。所以RuleChecker在WBS父级对象U02(蓝色框)下面新创建了名字为 2001-P-1 (Pipeline Name – Isometric Sheet Number)的WBS对象。

导入配置Labels至参考数据库

1. 将随文档所带的 WBSIsoParent 和 “WBS Iso Grouping Query – Fabrication” 两个文件解压,并拷贝至[Symbols_Share]LabelsTypes of LabelsPiping 文件夹。

2. 使用AMD模式完成CreateWBSIso_Labels.xls 文件内容的导入。

定义RuleChecker的规则

我们之前提到过,RuleChecker会关注新建/修改的对象,并执行在参考数据库中指定的相关规则。在本章节中,你要导入CreateWBS.dll中定义的相关规则到参考数据库。RuleChecker对新建/修改的对象执行的规则,是基于WBSIsoParent 和“WBS Iso Grouping Query – Fabrication” 两个label的返回值,完成管道元件的正确分配WBS父级和WBS对象。

1. 解压 Append_WBSRules_Catalog.xls 和Append_WBSRules_CodeLists.xls两个文件。

2. 将这两个文件使用append 模式导入至参考数据库。当导入成功后,重新生成参考数据库的相关视图,并重生报表数据库。

3. 创建一个 Plant/Ship 过滤器,并命名为“CreateWBS”,路径定义满足WBSRules_Catalog.xls表格中 DiscriminicationFilter列的定义值。该filter的完整路径应该是“Plant FiltersRuleCheckerCreateWBS”。选中你希望RuleChecker运行的相关元件的系统层级。这样,你就可以排除一些测试的Area。如下为相关过滤器的示例截图:

为WBS结构创建WBS父级

在 “理解Label在这个过程中的作用” 部分,我们了解到RuleChecker查找的是WBSIsoParent返回的名字,用这个名字作为WBS层级中的父级,然后再在下面创建相应的WBS对象用来配置WBS ISO图纸。在本方案中, WBSIsoParent返回值是元件所在单元的 “Unit System” 。所以,为了保证WBS对象可以创建到正确的父级之下,需要以Unit System的名字创建相应的父级。父级的 “WBS Type” 属性应“Design Area” 同时“WBS Purpose” 设置为“Other”。创建的WBS的父级效果对应如下图。注意确保“WBS Type”/”WBS Purpose” 设置都应该为 “Design Area”/”Other”。

重要提示:在创建父级WBS对象时,请确保使用的权限组与WBS ISO图纸一致。(e.g. “WBS” 权限组)。同时,也要保证所有的管道设计人员在该权限组至少有写入的权限。如果是异地协同项目,也要有完整的权限组。比如父级WBS对象在主站点创建的,使用的权限组为 “WBS_Host” ,同时管道设计人员在卫星站点, 那么所有的管道设计人员也要在“WBS_Host” 权限组中有“Write” 权限。如果管道设计人员,没有WBS对象所需的写入权限的话,那个删除操作将不能完成。

设置运行RuleChecker的工厂项目/船舶项目

现在我们已经完成了自动WBS对象管理所需的设置,让我们来设置RuleChecker来启动运行! 该RuleChecker运行的对象是从项目创建的时间至当前时间所有创建管道元件。并关注新建或者修改的管道元件,顺序执行。下面我们看一下,启动RuleChecker所需的步骤。
注意下面的操作需要在安装了RuleChecker服务的工作站或者服务器上运行。相关软件硬件的配置需求参考章节“自动WBS管理的RuleChecker安装”。

1)点击 Start -> Smart3D Automation -> RuleChecker -> “Add Plant or Ship to RuleChecker” 。 对话框显示如下:

使用 “Get From Active Site” 按钮来连接当前Smart3D Site数据库。在 “Plant / Ship Name”的文本框中,输入相应的工厂/船舶的名称。确保使用RuleChecker服务的域用户在Smart3D权限组中要至少对Piping和WBS权限组有读写的权限。该用户也要求可以在计算机中可以作为服务账户运行。在 “User name” 和 “Password” 文本框中输入相应的域账户密码。下一步为设置 RuleChecker的“Configure Parameters”参数。

2) 点击“Configure Parameters” 按钮,对话框显示如下:

如上图所示,需要提供一些必要的输入信息。将 CreateWBS.dll文件拷贝至RuleChecker的安装文件夹中。并将 “Rules Path” 指向SP3DRuleCheckService.exe所在的文件夹。保持“Delay Time” 为5分钟,“Max Objects Per Cycle” 为500。 查看 “Smart3D-Rule Checker Service.pdf” 中关于这些参数的详细介绍。因为我们的WBS对象使用的权限组是“WBS” 。保证 “Default Permission Group Name” 为 “WBS”。如果本方案中,您使用的是其他权限组,请直接输入其名字。 在上面的对话框中,点击OK,提示如下的成功安装的对话框窗口,再次点击OK 确认RuleChecker服务对所选工厂/船舶安装相应的rule。

管理是如何自动工作的

现在所有的东西已经设置好了。本章节我们需要启动RuleChecker服务,让他对工厂/船舶的管道元件进行相关运行 。

1) 点击 Start -> Smart3D Automation -> RuleChecker -> “Manage RuleChecker for Plant or Ship”,选中需要运行自动分配WBS的工厂/船舶。并设置相关参数。

2) 在 “Restart Processing From” 部分,选择 “Beginning”单选按钮,然后点击 “Set” 按钮。 这会定义好RuleChecker从头开始运行。然后点击在红框中的 “播放” 按钮。

3) 打开RuleChecker设置过程设置的日志文件夹中的日志文件,并确认没有配置错误的日志。

4) 当RuleChecker 开始运行,操作过程中会基于WBSIsoParent 和“WBS Iso Grouping Query – Fabrication” 两个labels的返回值来判断WBS的父级以及WBS的对象名称。如下图:

注意WBS对象的名称是由 “WBS Iso Grouping Query – Fabrication” label返回的值决定的。因为大多数的管道元件未对 “Isometric Sheet Number” 属性赋值,所以 label 返回了 “NoSheet” 和 Pipeline name.

5) 如下图,选中某一个属于相同管线下,相连的一系列管道元件。并设置 “Isometric Sheet Number” 属性值(e.g 1) 。

对同一个管线下面的其他管件赋“Isometric Sheet Number” (如 2)。管道设计人可以自己决定管线上的哪些元件归属于相同的ISO图纸中,然后填写 相同的“Isometric Sheet Number” 属性。基于 Pipeline Name + Isometric Sheet Number (“WBS Iso Grouping Query – Fabrication” label)这一返回值,RuleChecker 会将这些对象整合成一个WBS对象。

注意:设计人员需要特别注意新创建的对象,要给一个正确的 “Isometric Sheet Number”值来保证WBS的正确分配。有时候,可能会忽视一些情况,比如“把主管打断”,“在主管上引出支管”,这时都新自动创建了一个新的管道。

6) 当对象被分配至新的WBS对象中,效果如下:

注意,当名字中包含“NoSheet”的WBS对象变成空的,即其他所有管道元件都有了不为空的“Isometric Sheet Number”属性时。这个“NoSheet”的WBS对象也不会被自动删除,虽然它是空的,这就需要管理员定期的从WBS层级中删除。

7) 如此,当设计人在新建模型,调整已有元件时,RuleChecker服务会自动完成WBS对象的归属,保证WBS的ISO的输出,从而把设计人从WBS分配工作中解放出来。

8) 现在就可以基于上面的WBS层级配置WBS的ISO图纸,生成与sheet相关的ISO图纸了。

额外说明:使用RuleChecker可以帮助我们批量的完成WBS对象的划分。但是在Isometric Sheet Number属性输入时,基于该功能是需要设计人进行手动分配的。所需自动分配,鹰图公司也做了相关的工具。本文暂不说明。

相关阅读:

WBS 在Smart3D中的应用

Smart 3D之Group by parts 命令说明

如何使用ISO_WBS出图?

数字化工程设计公众号二维码
原文链接:查看原文  文章来源:数字化工程设计
🔗 分享 0

上5篇 more...

下5篇 more...