背景介绍

在之前接触过的项目中,遇到了需要对模型中大量的对象重命名的问题。项目需求统计车间产能,车间内上百个工位,工位制作成了独立模块,通过复制的方法快速将模型搭建完成。但是复制出来的模块名称毫无意义,对程序十分不友好,所以需要对模块重命名。上百个工位,逐一重命名会浪费大量的时间,所以设计了一段程序,完成了批量的重命名操作。

程序功能

批量完成重命名的操作。具体效果如下图所示。

初始命名状态

最终命名状态

上图可见,最初命名杂乱无章,经过批量重命名后,名称变得更有意义。

源代码

—————————————-

— 函数功能  :批量重命名

— 初始换参数:无

— 返回值    :无

— 日期      :2018.03.10

— 作者      :Guo

—————————————-

var obj:object

var xArr,yArr:integer[]

var x,y:integer

//获取所有需要重命名的对象的横纵坐标

for var i:=1 to current.numNodes

       obj:=current.Node(i)

       if obj.Origin.name=”SingleProc”

              x:=obj.xpos

              y:=obj.ypos

              if xArr.find(x)=0

                     xArr.append(x)

              end

              if yArr.find(y)=0

                     yArr.append(y)

              end

       end

next

//将坐标排序

xArr.sort

yArr.sort

//根据坐标值判断对象位置,并重命名

for var i:=1 to current.numNodes

       obj:=current.Node(i)

       if obj.Origin.name=”SingleProc”

              x:=obj.xpos

              y:=obj.ypos

              obj.name:=sprint(“S_”,xArr.find(x),”_”,yArr.find(y))

       end

next

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注