ANSYS Mechanical ACT脚本访问参数失败:Property not found错误求助
问题原因与解决方法
错误原因分析
你的报错主要有两个可能的原因:
- 参数未导入到Mechanical的Model层级:Design Modeler创建的参数默认属于Workbench项目级,若未手动导入到Mechanical模块,Static Structural分析对象无法直接访问这些参数。
- 代码访问层级错误:
Analysis.GetParameter()方法用于访问分析对象自身的参数(如载荷、约束相关参数),而几何参数要么在Model层级,要么在Geometry对象下,直接从Static Structural对象调用会找不到对应属性。
验证参数是否导入
打开Mechanical后,右键点击左侧树形结构的Model -> Properties -> 切换到Parameters标签页,检查列表中是否存在你需要的height或diameter参数。如果没有,需要先导入:
- 在Workbench项目示意图中,右键
Model单元格 -> Transfer Data to New,在弹出窗口中勾选需要导入的参数; - 或者在Mechanical中,点击顶部菜单栏
Tools-> Parameters -> Import Parameters,选择从Workbench项目导入目标参数。
正确的参数访问代码
场景1:参数已导入到Model层级
# 获取Model对象 model = ExtAPI.DataModel.Project.Model # 通过参数名称获取Model级参数 height_param = model.Parameters.GetParameterByName("height") # 获取参数的数值 height_value = height_param.Value
场景2:参数仅存在于DesignModeler的Geometry中(未导入Model)
# 获取Geometry对象 geometry = ExtAPI.DataModel.Project.Model.Geometry # 获取几何参数 diameter_param = geometry.Parameters.GetParameterByName("diameter") diameter_value = diameter_param.Value
额外注意事项
- 参数名称区分大小写,确保代码中的名称与Workbench中定义的参数名完全一致;
- 若参数是在DesignModeler中通过草图或特征创建的驱动参数,也可以通过对应的特征对象直接访问,例如:
# 获取指定特征的参数 feature = geometry.Features.GetByName("Extrusion1") extrusion_height = feature.Parameters.GetParameterByName("Height")
内容的提问来源于stack exchange,提问作者hawkoli1987
相关产品推荐
相关产品推荐

