批量重命名的方法
背景介绍
在之前接触过的项目中,遇到了需要对模型中大量的对象重命名的问题。项目需求统计车间产能,车间内上百个工位,工位制作成了独立模块,通过复制的方法快速将模型搭建完成。但是复制出来的模块名称毫无意义,对程序十分不友好,所以需要对模块重命名。上百个工位,逐一重命名会浪费大量的时间,所以设计了一段程序,完成了批量的重命名操作。
程序功能
批量完成重命名的操作。具体效果如下图所示。
初始命名状态
最终命名状态
上图可见,最初命名杂乱无章,经过批量重命名后,名称变得更有意义。
源代码
—————————————-
— 函数功能 :批量重命名
— 初始换参数:无
— 返回值 :无
— 日期 :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