解决方案

RP 系列 | 便捷的新功能:在主脚本后执行后脚本

本文为支持我们强大的脚本语言的所有软件产品介绍了一项便利的新功能。它允许在主脚本之后执行其他脚本,例如,以便生成其他输出。

最近为支持我们强大的脚本语言的所有软件产品实现了一项不错的新功能:RP Fiber Power, RP CoatingRP ProPulse和RP Resonator。让我们首先讨论它解决的问题:


问题

脚本通常会触发一些计算并产生各种输出,例如以图形图或文件的形式。很容易发生输出生成出错的情况,您只有在执行后才会注意到,例如:当您忘记了显示某些输出或绘制某些图表。

您忘记了显示某些输出或绘制某些图表。

绘制了所需的图,但是轴缩放比例不合适,因此曲线超出了比例范围。

您已经中断了一个耗时图表的创建,但是随后您意识到需要另一个以后将要制作的图表。

您还希望将一些计算出的数据写入文件。


通常的方法是修改或更正脚本,然后再次执行它。然后将再次执行所有计算,并生成所有输出。如果计算只需要花费几秒钟的时间,那么这种方法就没有问题-在大多数情况下都是如此。但是,在某些情况下,某些复杂的计算需要几分钟甚至超过一个小时的时间,您真的不希望仅为了修改或纠正某些输出而重做它们。

解决方案

现在可以使用新功能解决所描述的问题。只需将再次执行的代码中已添加或纠正的部分(例如,用于绘制图表的代码)保存为单独的脚本–让我们将其称为“后脚本”。作为该脚本的第一行(重要!),写上“ keep all”。然后,您执行该后脚本时,该软件将不会像通常那样首先删除所有变量,数组,用户定义的函数和物理结果(例如,从数字光束传播中删除),而是将所有内容保留在内存中。

也可以仅保留变量和物理结果,例如,通过使用“保留变量,结果”而不是“保留全部”。


其他用途

您也可以将新功能用于其他目的。例如,它可能对调试有用。执行脚本后,您可能想知道某些变量的值是多少?然后只需创建一个简单的后脚本即可输出其值。一个小例子:

保留全部

显示“ P_s_out:”,P_s_out:d3:“ W”

您还可以将所有变量值转储到日志区域:

保留全部

转储变量

您可能还考虑在主脚本中使用“全部保留”,然后在确定不需要该耗时的计算时将其取消,因为结果已经存在。但是,使用这种方法时,应该格外小心,因为调试那些脚本时可能会很困难,这些脚本的输出不仅取决于脚本本身,而且取决于相同脚本或其修改版本的先前执行情况。

我想我们的一些用户会发现更多的应用程序,这是我所没有想到的。然后,我将很高兴了解到这一点!此外,始终欢迎提出进一步改进的建议。顺便说一句,当前的改进也是由用户缺少该功能触发的。