录制或编写PrePost脚本,然后在Rocky中播放或使用,是通过自动执行可重复任务来节省时间的好方法。
Python是构建Rocky的编程语言。虽然了解如何理解Python并非使用Rocky的必要条件,但您可以通过多种方式使用该语言来自定义和扩展程序中的功能。
例如,Python的一个有用之处是创建和编辑脚本。
您还可以使用Python为属性或曲线函数自定义高级表达式。(另请参阅关于自定义属性或曲线。)
Rocky还包括一个特殊的面板,您可以使用该面板来编辑底层Python代码并探索Rocky的API:PrePost功能。要打开此面板,请从Tools菜单中,单击Python Shell。
注意:此版本的Rocky仅支持Python 3语言。如果您的脚本是使用旧版本的Rocky或旧版本的Python(例如Python 2.7)构建的,它们可能无法在此版本中运行。(另请参阅我的旧脚本无法运行。)
提示:
在Rocky PrePost Scripting Manual中,使用Contents、Search或Index选项卡快速查找Rocky API。(从Rocky Help中,指向Manuals,然后单击PrePost Scripting Manual。)
在Rocky客户门户的PrePost脚本库部分,查看和修改示例脚本。(如果您还没有客户门户的登录信息,请联系您的Rocky代表寻求帮助。)
另请参阅:
另请参阅:
在Rocky中创建和使用PrePost脚本是通过自动执行可重复任务来节省时间的好方法。脚本可以在PrePost Script面板中录制和播放,添加到Solver实体下的PrePost Scripts列表中,并且可以从命令行启动(另请参阅使用命令行播放脚本)。
如何选择创建脚本取决于您尝试重复的任务,以及您对Python和Rocky的API:PrePost功能的熟悉程度(另请参阅使用Python自定义和扩展Rocky)。具体来说:
如果您要重复的步骤仅限于您在Rocky UI中单击或输入的内容,那么在PrePost Script面板中录制脚本可能是最简单、最快捷的选择。
如果您需要对输入进行更多控制,或者希望访问无法从Rocky UI直接访问的任务,那么用Python编写脚本可能更适合您的需求。
有关更多详细信息,请参阅以下各节。
当您选择从PrePost Script面板开始录制脚本时,您在Rocky中执行的每一步都会被记住,直到您选择停止录制。然后,您可以选择在设置的其他部分、另一个视图甚至其他仿真文件中“播放”脚本,以自动重复相同的录制步骤。
例如,您可以使用录制的脚本来完成以下所有任务:
在其他仿真中创建完全相同的动画关键坐标系集
创建可用于其他仿真的通用变量集
将自定义图形视图应用于绘图窗口,以使用首选单位和网格设置
将一组动画关键坐标系导出到单个图像文件
将首选可视化设置应用于同一仿真中的其他3D视图窗口
当您使用PrePost Script面板录制脚本时,Rocky会自动将生成的PY文件保存在正确的文件夹位置,并使用所需的script_前缀。
提示:只要您的脚本PY文件以script_开头,并保存在..RockyScripts文件夹(用于跨项目共享的脚本)或..<ProjectName>rocky.filestmpmacros-0文件夹(用于当前项目专用脚本)(另请参阅Rocky中的文件类型和文件夹),它就可以在PrePost Script面板中列出和播放。
您还可以在Rocky程序外部编写和编辑脚本,然后将它们应用于Rocky中的仿真,方法是从PrePost Script面板播放生成的PY文件,或将代码直接粘贴到Python Shell面板中。
要编写或编辑脚本,需要了解Python(另请参阅使用Python自定义和扩展Rocky)和Rocky的API:PrePost功能(另请参阅我找不到Rocky API文档)。
提示:
通过遵循 在 Rocky Tutorial Guide或 在 Rocky Tutorial Guide,获得创建和使用脚本的实践经验。
在Rocky客户门户的PrePost脚本库部分,查看和修改示例脚本。(如果您还没有客户门户的登录信息,请联系您的Rocky代表寻求帮助。)
Rocky允许您在不同的Rocky项目中共享录制和保存的脚本,或仅将其用于当前项目。保存到Scripts shared across projects选项卡的脚本将可用于整个应用中的所有Rocky项目;保存到Project scripts选项卡的脚本将仅出现在当前项目中(图1)。
在选择录制脚本(另见录制新脚本)或导入脚本(另请参阅将外部脚本文件添加到脚本目录)时,您选择的选项卡决定了新脚本的类别。脚本可以通过右键菜单从一个选项卡复制到另一个选项卡(另请参阅复制脚本)。
您保存到Project scripts选项卡的任何脚本都可以通过Solver下Data面板上的PrePost Scripts子实体,在仿真处理之前和/或之后自动运行(图2)。通过这种方式,您可以进一步实现设置和后处理的自动化,特别是在运行许多类似案例的情况下。
在此版本的Rocky中,仅支持与Python 3(PY3)语言兼容的脚本。这意味着,一些在旧版本的Rocky中运行的脚本可能需要重新创建或修改,以支持Python 3指南。(另请参阅我的旧脚本无法运行。)
此外,只有以script_开头的PY文件才可以在PrePost Script面板中播放。没有此前缀的脚本文件仍然可以通过将代码复制并粘贴到Python Shell面板中来应用。
使用下面的图像和表格来了解如何创建和应用脚本。
表1:PrePost Script面板按钮说明
|
按钮 |
描述 |
|---|---|
|
|
开始录制过程,这是创建新脚本的第一步。保存Rocky中的每一步,直到您按下Stop and Save Script按钮。 注意:单击Record Script时所选择的选项卡将决定创建哪种脚本——是在所有项目中共享的脚本,还是仅为此项目保存的脚本。 |
|
|
停止录制过程并保存所执行的步骤。 |
|
|
将所选脚本的录制步骤应用于Rocky UI中当前处于活动状态的任何元素。 |
|
|
打开保存脚本PY文件的特定选项卡(跨项目共享或仅在当前项目中共享)脚本文件夹。从这里,您可以选择执行以下任何操作:
注意:单击Open PrePost Scripts Directory时所选择的选项卡将决定打开哪个脚本文件夹——是包含所有项目共享脚本的文件夹,还是包含仅为此项目保存的脚本的文件夹。 |
|
|
当脚本被添加到目录或从目录中删除时,这会刷新PrePost Script面板中的列表,以包括任何新添加或删除的PY文件。 |
|
|
打开一个简短的帮助文件,其中包含如何使用PrePost Script面板的说明。 |
您想要执行什么操作?
另请参阅:
确保已显示PrePost Script面板。(从Tools菜单中,单击PrePost Script。)
在PrePost Script面板中,执行以下操作之一:-要录制可在所有其他Rocky项目中共享的脚本,请确保选择了Scripts shared across projects选项卡。-要录制只能用于此项目的脚本,请确保选择了Project scripts选项卡。
单击Record Script按钮。
在New PrePost Script对话框中,输入要创建的脚本名称,然后单击OK。新脚本名称将出现在选定的PrePost Script面板选项卡上,并且按钮将更改为Stop and Save PrePost Script按钮。
在Rocky UI中,执行要重复的任务步骤。
步骤完成后,在PrePost Script面板中,单击Stop and Save PrePost Script按钮。
另请参阅:
使用此过程将脚本添加到脚本目录。
复制要添加的PY脚本文件。提示:为了让Rocky能够识别该脚本并将其显示在PrePost Script面板中,脚本文件名必须以script开头。例如:script_video settings.py 注意:未以这种确切方式命名的Rocky脚本仍可使用,但不会在PrePost Script面板中列出。相反,这些脚本必须从Rocky外部启动。(另请参阅使用命令行播放脚本。)
确保已显示PrePost Script面板。(从Tools菜单中,单击PrePost Script。)
在PrePost Script面板中,执行以下操作之一:-要以可在所有其他Rocky项目中共享的方式添加脚本,请确保选择了Scripts shared across projects选项卡。-要以只能用于此项目的方式添加脚本,请确保选择了Project scripts选项卡。
单击Open PrePost Scripts Directory按钮。
在打开的文件目录位置,粘贴您在步骤1中复制的PY文件。
另请参阅:
确保要应用的脚本已保存到正确的目录。(另请参阅将外部脚本文件添加到脚本目录。)
在Rocky UI中,选择要应用脚本录制步骤的组件。
从PrePost Script面板中,选择要应用的脚本名称,然后单击Playback PrePost Script按钮。在所选组件上执行录制或脚本化的步骤。提示:要查看脚本进程概览,请单击脚本名称左侧的展开箭头。再次单击箭头可将其收缩。
注意:您还可以在处理仿真之前和/或之后直接自动应用脚本。(另请参阅在处理之前或之后直接自动应用脚本。)
另请参阅:
确保在处理仿真之前和/或之后要直接自动应用的脚本列在PrePost Script面板的Project scripts选项卡上。(另请参阅复制脚本。)
从Data面板中,展开Solver实体,然后单击PrePost Scripts。
在Data Editors面板中,执行以下操作:
在Run before simulation框中,启用要在处理仿真之前直接自动运行的所有脚本。
在Run after simulation框中,启用要在仿真处理之后直接自动运行的所有脚本。
提示:您还可以在Rocky项目期间随时手动应用脚本。(另请参阅手动应用已保存的脚本。)
另请参阅:
从PrePost Script面板中,选择包含要编辑的脚本的选项卡。
单击Open PrePost Scripts Directory按钮。
在目录对话框中,右键单击要编辑的脚本文件,用您最喜欢的Python编辑器打开它,根据需要进行修改,然后以PY扩展名保存文件。注意:
提示:脚本还可以访问Rocky的API:PrePost功能,该功能可以通过以下方式进行探索:
使用Python Shell面板。(从Tools菜单中,单击Python Shell。)(另请参阅使用Python自定义和扩展Rocky。)
使用API:PrePost Manual中的Contents、Search或Index选项卡。(从Rocky Help菜单中,指向Manuals,然后单击API:PrePost Manual。)
另请参阅:
确保已显示PrePost Script面板。(从Tools菜单中,单击PrePost Script。)
同时确保您已保存了Rocky项目。(另请参阅保存仿真项目。)
在PrePost Script面板中,执行以下操作之一:
要将共享脚本复制到当前项目文件夹,请选择Scripts shared across projects选项卡。提示:如果您想要执行以下任一或两项操作,请按照此过程操作:
在项目处理之前和/或之后直接自动应用脚本。(另请参阅在处理之前或之后直接自动应用脚本。)
将脚本包含在Rocky Archive中。(另请参阅存档仿真项目。)
要将当前项目脚本复制到与其他所有项目共享的文件夹中,请选择Project scripts选项卡。
右键单击要复制的脚本名称,然后单击Copy Prepost Script to project。您选择的脚本现在出现在另一个PrePost Script面板选项卡上。此外,Project scripts选项卡上的任何副本,现在也会出现在Solver PrePost Scripts列表中。(另请参阅在处理之前或之后直接自动应用脚本。)
另请参阅:
从PrePost Script面板中,选择包含要删除脚本的选项卡。
右键单击要删除的脚本名称,然后单击Remove。脚本名称将从PrePost Script面板中删除。脚本PY文件也将从Script目录中删除。如果脚本已从Project scripts选项卡中删除,则它也将从Solver | PrePost Scripts框中删除。(另请参阅在处理之前或之后直接自动应用脚本。)
另请参阅:
注意: 重命名脚本只会影响Rocky UI中显示的内容。它不会更改保存在PrePost Scripts目录中的PY文件名。
从PrePost Script面板中,选择包含要重命名脚本的选项卡。
右键单击要重命名的脚本名称,然后单击Rename。
在Renaming PrePost Script对话框中,输入脚本的新名称,然后单击OK。脚本的新名称将出现在PrePost Script面板中。如果重命名的脚本位于Project scripts选项卡上,则Solver | PrePost Scripts框中的名称也会相应更新。(另请参阅在处理之前或之后直接自动应用脚本。)
另请参阅:










