当我们复制对象时,会发现每次都会在对象后面加1类似如上,对象越多手动更改起来越麻烦,我们可以进行如下的设置。
Plant Simulation 为我们提供了一个方法:ConstructorCtrl
ConnectCtrl需要指定一个方法对象。当复制、派生或实例化对象时(例如,将它插入到Frame或仿真模型中)会调用ConstructorCtrl方法。
如果激活可选参数onCreate3D声明构造函数控件,那么构造函数控件会被调用为false,如果设置了3D模型,则会被调用2次第二次调用为true。
设置ConstructorCtrl的方法为:对象-----工具-----编辑控件
在弹出的控件对话框中可以选择创建控制或者选择对象。我这里是选择对象是因为我们可以把这个方法可以给到不同的对象进行复用,而没必要每个对象都进行设置。
--param onCreate3D: boolean
var n,selfname:string
var s:integer
var orderlist: stack[string]
orderlist.create
--使用正则表达式
selfname:=regex_search(@.name, "^[\u4e00-\u9fa5_a-zA-Z]{1,10}")
for var i := 1 to numnodes
n:=regex_search(node(i).name, "^[\u4e00-\u9fa5_a-zA-Z]{1,10}")
if n=selfname
orderlist.push(node(i).name)
end
next
@.name:=sprint(selfname,orderlist.dim)