Ansys 中的 SpaceClaim/Discovery 脚本涉及在三维建模和几何编辑软件 Ansys SpaceClaim/Discovery 中使用脚本自动执行和自定义几何操作。它允许用户更高效、更稳健地创建、修改和操作几何体。这些脚本可与 Ansys Mechanical 结合使用,通过简化几何体准备过程和确保一致、无差错的模型生成,提高整个项目的稳健性。模型生成后,可轻松链接到现有的 Mechanical 工作流程,帮助提高模型的稳健性!
请注意,SpaceClaim 和 Discovery 是 Ansys 提供的两种不同的 CAD 工具。Discovery 是较新的工具,使用与 SpaceClaim 相同的所有功能。这些脚本功能最初是为 SpaceClaim 开发的,但也已集成到 Discovery 中。
以下是 SpaceClaim/Discovery 脚本如何为强大的几何处理做出贡献,以及如何与 Ansys Mechanical 相辅相成:
- 自动化和重复: SpaceClaim/Discovery 脚本可自动执行重复性任务和几何操作,减少创建或修改几何图形时可能出现的人工错误。这种自动化可确保几何生成过程的一致性和稳健性。
- 自定义: 脚本可根据特定项目要求进行定制,允许用户创建用于几何操作的自定义工具和工作流程。这种定制功能使工程师能够更有效地应对复杂的几何挑战。
- 参数化: SpaceClaim/Discovery 脚本可用于对几何特征进行参数化,使模型更容易适应和调整不同的设计方案。这种参数化允许快速修改几何特征,从而增强了项目的灵活性和稳健性。
- 质量控制: 通过使用脚本,可以对几何图形执行质量控制检查。例如,可以确保满足特定的设计约束或公差,从而提高设计流程的稳健性。
- 与 Ansys Mechanical 集成: SpaceClaim/Discovery 脚本可与 Ansys Mechanical 无缝集成。这种集成允许自动生成复杂的优化几何体,以便进行结构、热或其他分析。通过自动完成几何图形准备阶段,可以减少将几何图形传输到 Ansys Mechanical 时出现错误或差异的几率。
- 参数研究: SpaceClaim/Discovery 脚本与 Ansys Mechanical 相结合,通过快速修改几何形状和评估各种设计方案,促进了参数研究。这种功能对于优化设计和确保不同条件下的稳健性能非常有价值。
必须知道,SpaceClaim/Discovery 脚本基于 IronPython。因此,它与 IronPython 的模块兼容。不过,在开始使用 SpaceClaim/Discovery 脚本之前,并不需要成为 Python 专家!这要归功于脚本工具中的 “记录 “功能。记录 “功能允许您记录图形用户界面中完成的某些操作。例如,如果您在 XY 平面上绘制草图并挤出一个矩形,记录器(如果打开)将自动在编辑器中写出这些操作的命令!这有助于理解选择逻辑和操作等内容。还可以对这些记录的命令进行编辑,使脚本更加强大。在调整录制的脚本之前,建议先复习一下 Python 的基础知识,以帮助理解工作流程。下面的图片中列出了一些基础知识,本博客末尾还将提供更多参考资料,以帮助您入门!
在 SpaceClaim/Discovery 脚本中,有 3 种选择实体的方法。
- 智能变量(默认)
- 结合其他方法,使选择在播放脚本时更持久
- 比其他类型存储更多信息,在几何体变化时匹配所选实体的能力更强
- 要使用智能变量,必须将脚本保存为 .scscript 文件(而不是 .py 文件)。智能变量是在后台创建的对象,包含大量关于所选项目的元数据。这些数据会保存在 .scscript 文件中,但在 .py 文件中会丢失。
- 示例 Selection.Create(Face1)
- 索引(身体/子女继承关系) -> 首选方案
- 每个选定实体的内部索引。
- 示例 Selection.Create(GetRootPart().Bodies[0].面[3])
- 雷(基于位置)
- 内部射线的发射点和方向。在处理 STL 文件时非常有用。
- 示例: 选择.创建(RayFire.Fire(Point.Create(MM(230),MM(260),MM(407)),Direction.Create(-0.4,-0.5,-0.75), 0.0001,0.0005([1])
以上所有例子都用于选择下面的简单曲面。
使用脚本生成 CAD 模型后,需要将其导入 Mechanical。导入时,许多边界条件和网格控制可能会随着几何体的变化而失效。为了避免这种情况,我们可以利用 “命名选择 “的强大功能。对于不熟悉的人来说,命名选区是用户在有限元模型中定义的实体分组(如节点、元素或曲面),并为其分配一个特定名称,以便于参考和应用边界条件或载荷。在机械计算中,可以通过两种方式对其进行定义:手动选择要创建命名选区的实体,或使用工作表功能。要使用工作表,请插入命名选区,并将详细信息中的 “范围界定方法 “从 “几何体 “更改为 “工作表”。
将选项更改为工作表后,需要进入工作表部分输入选择标准。选择标准可用于确定要选择的实体(面、体、边等)。这些实体可以按照大小、位置、距离和其他标准进行筛选。您还可以结合不同的标准来帮助包含(或排除)其他实体。在下面的示例中,我使用了尺寸标准来选择圆柱体的顶面,如下图所示。但是,尺寸标准本身会同时选择顶部和底部,因为它们的尺寸相同。为了从选择中移除底面,我还在工作表中加入了 “移除 “功能,以移除 Y=1 毫米以下的所有面(注意,圆柱体底面位于 Y=0 毫米处)。定义了这两个标准后,我就可以将选区细化为下图所示的顶面。这里的想法是,如果您希望不同的特征位于特定的尺寸和形状范围内,我们可以在命名选择定义中考虑这些因素。这样,当我们使用 SpaceClaim/Discovery 脚本调整模型时,每次迭代都会选择相同的实体。
生成所有命名选择后,我就可以使用它们来定义边界条件和网格控制,而无需使用手动选择标准。为此,您可以导航到边界条件或网格控制的 “范围界定方法”,并将其更改为 “命名选择”。然后,您需要选择将哪个命名选择应用于每个边界条件。由于我们的命名选择已根据模型的所有不同尺寸和形状进行了设置,因此每次都会根据我们定义的标准自动更新。一旦更新,这些命名选择也将自动应用于我们的边界条件!这意味着,每次调整几何图形时,我们都不必花时间重新选择所有内容。模型更新后,只需确保 CAD 模型的材料定义正确,然后运行即可!
在我们的 YouTube 频道上可以找到此过程的更详细示例(见下文)。
http://www.python.org/
– Python 下载所有格式
– 教程和文档
https://github.com/IronLanguages/iron…
– IronPython studio 是一款免费的 Microsoft SDK,可让您管理自己的项目并使用本地 Windows 窗体进行开发。
http://www.tutorialspoint.com/python/…
免费书籍 – http://greenteapress.com/thinkpython/…
推荐书籍
– 学习 Python》,马克-卢茨和戴维-阿舍尔著
– Python 口袋参考》,马克-卢茨著
– IronPython in Action》,Michael J.Ford 和 Christian Muirhead 著 – 面向希望使用 Iron python 利用 .NET 框架的人员