Python 引擎
用户还可以在 "需求与系统门户 "中运行自己的 python 脚本,通过类似于 octave 引擎的 python 编码来执行一些计算。此外,这还允许用户访问其余应用程序接口,对对象进行单独或批量修改。内置的 python 引擎目前支持 python "Valispace "软件包、pint 和 Scipy(包括 NumPy 和其他)。目前并非所有的 python 软件包都可用。
脚本模块中的 Python 脚本流程
涉及 python 引擎的脚本模块的典型工作流程如下图所示。如果用户不想通过其余 API 进行计算和批量更改,可以直接编写 python 代码并运行脚本。

python 引擎中的软件包
由于我们在 Requirements & Systems Portal 中实施的 python 引擎是测试版功能,因此 python 引擎并不支持所有软件包。目前支持的软件包非常少。这里列出了目前支持的软件包。
python 脚本示例
使用 python 引擎,用户可以添加输入和输出,并编写 python 代码来计算结果。这与需求与系统门户中的Octave 引擎的工作原理类似。在下面的示例中,你可以看到如何编写 python 脚本,将子模块添加到模块中。
from typing import Any, Dict
导入 Valispace
def main(**kwargs) -> Dict[str, Any]:
"""
这是执行脚本的主函数,必须存在。
还可以创建其他函数和文件。您可以
导入 Valispace API、scipy、numpy 和 pint。
:param kwargs:从 Valispace 接收的数据字典。
:type kwargs:Dict[str, Any]
:return:将数据送回 Valispace 的字典。
:rtype:Dict[str, Any]
"""
# TODO: 在此编写您的代码
valispace = valispace.API(url="https://.valispace.com/", username = "", password = "") #添加您的部署名称、用户名和密码
# 父组件的 ID;如果父组件处于最高级别,则父组件为空,但需要指定项目。
parent_component = 57111
# 带有新组件属性的对象
component = {
"name":"NewCompentName2"、
"parent": parent_component
}
# 通过全名获取 Vali 的函数
componentPosted = valispace.post("components/", component)
以下是一些使用脚本模块的想法:
-
创建一个 Vali 并将其添加到多个现有组件中
-
批量编辑需求的标识符
-
使用 python 运行模拟
-
将所有功率值的单位转换为千瓦
-
创建并运行脚本以导出组件的层次结构
-
根据需求创建 ReqIF 格式的导出文件
-
创建材料清单,提取组件的材料、组件编号、质量和成本