利用Python快速输出Workbench单元和节点信息
责任编辑:长松落雪     时间:2023-06-19     来源:转载于:仿真学习与应用
责任编辑:长松落雪
时间:2023-06-19  来源:转载于:仿真学习与应用
分类: 技术分享
浏览量: 353

单元和节点信息的输出有的时候对做二次开发比较重要,例如在做随机缺陷施加的时候需要对节点坐标进行局部的修改。

Workbench里面如果需要输出模型的全部节点和单元信息,有两种方法:

1、插入APDL命令解决,然而这种方法每次输出的时候都要提交一下求解,因为插入的APDL只有通过提交求解器后才会运行,并且如果要一起输出字符和数据,格式调试比较繁琐,实际操作起来效率较低;

2、插入Python代码,利用wb支持的代码功能,可迅速运行,不需要使用者了解APDL晦涩难懂的语法知识,并且可自由的定义输出格式,只需简单几步即可操作,今日水哥简单介绍下。

在Mechanical界面,可通过点击Automation界面下的Scripting来打开代码输入界面,打开后在右侧即可通过输入WB的API函数来进行相关操作。

640.png

详细的API使用方法同学们可查看ANSY的帮助了解,非常详细,这里就以输出单元信息和节点信息为目的来说明。

单元和节点的信息是在API函数 Analyses下面的MeshData里面,所以要输出相关的信息,首先要进入到MeshData中。

网格划分完毕后,通过下方代码进入MeshData:

My_analyses=Model.Analyses[0]

My_Mesh=My_analyses.MeshData

MeshData里面有非常多的关于网格划分的信息,例如常见的单元编号,单元数量,以及节点相关信息等,我们要做的即是从这数据中提取单元的节点编号以及所有的节点坐标系信息,并写出到文件。

640 (1).png

首先编写输出单元所含节点信息的函数代码

思路如下:

1、获取MeshData中所有的单元信息;

2、遍历循环,获取每个单元的节点信息

3、遍历循环,输出每个单元的单元编号以及对应的节点编号

代码截图如下:

640 (2).png

代码运行完毕后,即可在指定的文件夹下找到输出的txt文件,如下所示:

640 (3).png

接下来输出每个节点的坐标信息,思路同上,遍历获取节点信息,然后输出节点坐标即可。

代码如下所示:

640 (4).png

代码运行完毕后,即可在指定的文件夹下找到输出的txt文件,如下所示:

640 (5).png

为检验正确性,可通过前面水哥介绍的FEinfo插件来查看节点编号及对应的坐标信息。

Workbench ACT插件 FE Info 使用说明及下载

1、首先查看单元的节点编号,例如这里查看的是313号单元的节点组成,可见信息完全一致。

640 (6).png

2、查看节点坐标信息,这里以204号节点坐标为例,打开Node.txt,如下所示,可见两者信息也是一致的。

640 (7).png

Python代码除了可以不用运行求解就可以得到结果外,还可以将Python代码组装成一个按钮,放到菜单栏里面,这样后面打开任何一个模型,只需点击按钮即可使用功能。例如这里将代码整成一个按钮,名为Get_EleNode,放到WB菜单里面.

打开按钮编辑器,填入相关信息即可,主要为名称及相关描述信息。

640 (8).png

640 (9).png

640 (10).png


来源:转载于:仿真学习与应用

回复:

Copyright © 2021 .长沙麦涛网络科技有限公司 All rights reserved. 湘ICP备20015126号-2
联系我们