www.tech-doc.cn 使用导出设置API

使用导出设置API


本节描述使用API的基本功能。完整的API函数列表请参阅HTML文档。

加载导出参数配置

按照以下步骤加载模型的导出配置。您可以通过输入以下命令访问模型的导出配置对象,其中传入的参数是模型文件的路径:

xpt_config = XPT.get_config(r'$AME\demo\Platform\
OptimizationRobustnessDOE\Optimization\DesignOptimization.ame')
警告:

如果从Simcenter Amesim外部启动的Python控制台加载导出设置API,必须确保模型处于展开状态(可右键点击模型选择展开)。

添加新导出参数

下面描述向导出配置添加新参数的不同方法。

  • 仅传递data_path

    可以仅传递Simcenter Amesim中任何参数或变量的数据路径作为唯一参数。例如:

    import ame_export_apy
        xpt_config = ame_export_apy.XPT.get_config(r"$AME\demo\Platform\
        OptimizationRobustnessDOE\Optimization\DesignOptimization.ame")
        # 通过传递数据路径添加压力传感器增益参数
        pressure_param = xpt_config.add_param("gain@pressuresensor")
  • 仅传递IOType

    用于添加本地输入参数或本地复合参数。这等同于在导出参数设置对话框中使用添加按钮:

    图2-3. 导出参数设置对话框

    需要传递所需类型的IOType枚举作为参数。可能的IOType值为:

    • Input

    • Output

    • Compound

    例如:

    import ame_export_apy
        xpt_config = ame_export_apy.XPT.get_config(r"$AME\demo\Platform\
        OptimizationRobustnessDOE\Optimization\DesignOptimization.ame")
        # 添加本地输入参数
        local_input = xpt_config.add_param(IOType.Input)
  • 同时传递data_path和IOType

    唯一需要同时使用data_pathIOType的情况是,当IOType用于指定状态变量中的输入参数简单输出参数时。例如:

    import ame_export_apy
        xpt_config = ame_export_apy.XPT.get_config(r"$AME\demo\Platform\
        OptimizationRobustnessDOE\Optimization\DesignOptimization.ame")
        # 将状态变量参数添加为输入类型
        integrator_output = xpt_config.add_param(‘output@elect02’, IOType.Input)

    处理向量时,由于数据路径对应具有特定维度的向量类型参数,返回的参数对应特定维度,但当添加到XPTConfig时,所有可用参数(所有维度)都会被添加。这与Simcenter Amesim中"全选或全不选"的行为一致。

    例如,考虑导出API需要添加如下所选参数的情况:

    图2-4. 带向量的参数

    此时命令如下:

    import ame_export_apy
        xpt_config = ame_export_apy.XPT.get_config(r"c:\hydraulic\
        1d\simple_model.ame")
        # 通过传递数据路径添加上述选中列表中的第一个参数
        pressure_param = xpt_config.add_param("pn_1@hydraulic_1")
        #上述pressure_param指代XPT参数中的第一个
        #添加到如下所示xpt配置中的参数

获取现有导出参数

可以通过将导出名称作为参数传递给以下方法来检索参数:import ame_export_apy

import ame_export_apy
    xpt_config = ame_export_apy.XPT.get_config(r"$AME\demo\Platform\
    OptimizationRobustnessDOE\Optimization\DesignOptimization.ame")
    # 获取状态变量参数作为输入类型
    seat_param = xpt_config.get_param(‘seatD’)

获取导出参数列表

可以使用get_params_list API获取导出参数列表:

import ame_export_apy
    xpt_config = ame_export_apy.XPT.get_config(r"$AME\demo\Platform\
    OptimizationRobustnessDOE\Optimization\DesignOptimization.ame")
    # 获取所有参数列表
    all_params_list = xpt_config.get_params_list()

导出配置有三种不同类型的参数:输入、输出和复合输出参数。使用IOType类型的参数,可以检索特定类型的XPTParam列表。如果不传递任何参数,则将检索输入、输出和复合类型的所有参数。

import ame_export_apy
    xpt_config = ame_export_apy.XPT.get_config(r"$AME\demo\Platform\
    OptimizationRobustnessDOE\Optimization\DesignOptimization.ame")
    # 获取输入类型参数列表
    input_params_list = xpt_config.get_params_list(IOType.Input)

删除导出参数

可以使用remove_param API删除参数,如下所示。可以传递导出参数的引用或参数的导出名称来删除它。

import ame_export_apy
    xpt_config = ame_export_apy.XPT.get_config(r"$AME\demo\Platform\
    OptimizationRobustnessDOE\Optimization\DesignOptimization.ame")
    # 添加参数
    pressure_param = xpt_config.add_param("gain@pressuresensor")
    seat_param = xpt_config.add_param("seatD")
    …
    xpt_config.remove_param(‘seat_param’)
    # 返回True或False

获取导出参数的IO类型

可以使用get_iotype API确定导出参数的iotype

import ame_export_apy
    xpt_config = ame_export_apy.XPT.get_config(r"$AME\demo\Platform\
    OptimizationRobustnessDOE\Optimization\DesignOptimization.ame")
    seat_param = xpt_config.get_param(‘seatD’)
    seat_param.get_iotype()
    # 返回1

获取现有参数任何列的值

可以使用get_property API获取导出参数任何列的值。需要传递对应列的Property枚举作为第一个参数:Property,其可能值为:

  • Submodel

  • Title

  • Export_Name

  • Units

  • Default_Value

  • Type

  • Possible_Values

  • Lower_Bound

  • Upper_Bound

  • Status

  • Expression

import ame_export_apy
    xpt_config = ame_export_apy.XPT.get_config(r"$AME\demo\Platform\
    OptimizationRobustnessDOE\Optimization\DesignOptimization.ame")
    seat_param = xpt_config.get_param(‘seatD’)
    seat_param.get_property(Property.Submodel)
    # 返回‘GLOBAL (seatD)’
    seat_param.get_property(Property.Export_Name)
    # 返回‘seatD’

修改现有参数任何列的值

可以使用set_property API设置导出参数任何列的值。需要传递对应列的Property枚举作为第一个参数,新值作为第二个参数。

import ame_export_apy
    xpt_config = ame_export_apy.XPT.get_config(r"$AME\demo\Platform\
    OptimizationRobustnessDOE\Optimization\DesignOptimization.ame")
    seat_param = xpt_config.get_param(‘seatD’)
    seat_param.get_property(Property.Export_Name)
    # 返回‘seatD’
    seat_param.set_property(Property.Export_Name, ‘new_seatD’)
    # 返回True