利用Smart3D二次开发优化ISO图工作流程
2018-06-07刘逸飞
刘逸飞
(中海油石化工程有限公司,山东 济南 250101)
Intergraph Smart3D(简称S3D)是新一代数字化工厂设计系统,近年来广泛使用于化工行业工程设计中。S3D具有集成化的建模与图表功能、灵活可变的树状结构和可定制的对象属性,可以满足工程设计中各种需求及应用扩展[1]。

图1 工作流程简图
ISO图是化工设计中一种重要的设计文件。设计要求每根管线的ISO图应有独立的图号,并需要编制ISO图索引。根据S3D的出图机理,并结合项目需求优化了工作流程,并利用VB.net对S3D进行二次开发,可实现批量导入导出管线图号及自动编制ISO图索引,优化后的工作流程见图1。
1 实施过程
1.1 添加属性
为pipeline添加属性的操作,可在建模之前或之后进行。具体操作如下:
(1)编辑CustomInterface表格文件,增加DWGNumber属性。见图2和图3。

图2 添加属性1

图3 添加属性2
(2)使用Bulkload工具,用AMD方式导入CustomInterface表格文件。导入完成后,在pipeline的属性对话框中即可看到添加的DWGNumber属性,见图 4。

图4 查看或修改Pipeline属性
1.2 导出管线清单并编辑
使用VB.net对S3D二次开发的程序,可查看并导出项目中的管线清单表格文件,见图 5。清单可导出到Excel中,方便将管线对应的图号填入清单。

图5 查看pipeline清单
获取管线清单的功能,可使用以下代码实现:
Dim oPropertyFilter As New Filter
Dim oProperty As PropertyValueString
oProperty = New PropertyValueString("IJNamedItem", "Name", "")
oPropertyFilter.Definition.AddWhereProperty(oProperty,PropertyComparisonOperators.NE)
oPropertyFilter.Definition.AddObjectType("SystemsPipelineSystems")
oPipelines = oPropertyFilter.Apply()
For i = 0 To oPipelines.Count - 1
oPipeline = CType(oPipelines.Item(i), Pipeline)
DataGridView1.Rows.Add()
DataGridView1.Rows(i).Cells(0).Value = i + 1
DataGridView1.Rows(i).Cells(1).Value = oPipeline.SystemParent.ToString()
DataGridView1.Rows(i).Cells(2).Value = oPipeline.ToString()
DataGridView1.Rows(i).Cells(3).Value = oPipeline.GetPropertyValue("IJUAPipeline", "DWGNumber").ToString
Next
2.3 导入管线图号
利用二次开发程序可将带有图号信息的管线清单表格文件批量导入到项目数据库中,导入的结果可随机查看,见图 6。

图6 导入pipeline图号并查看清单
因项目要求不同分区的同号管线,要有不同的ISO图图号,所以导入图号过程中,要同时匹配pipeline和piping system属性值。导入……
