首页/文章/ 详情

使用Python脚本快速重建翼型

6月前浏览9269

本文摘要(由AI生成):

本文介绍了使用Python脚本在ANSYS中创建机翼模型的方法。首先,通过SCDM草图建模,使用SketchNurbs类创建Nurbs样条曲线。然后,对翼型数据进行分类和处理,读取翼型坐标数据,创建草绘平面,采用CreateFrom2DPoints方法实现翼型曲线。接着,创建封闭的翼根与翼梢曲线,切换到三维模式下填充成面。最后,选择两个翼型面,创建融合特征,生成翼型特征。该脚本对多种翼型适用性好,可以快速创建机翼模型,并实现参数化建模。


上周看见一篇有意思公 众号文章:作者(AbaPy)采用Python脚本在Abquas中读取翼型坐标数据,实现快速建立机翼模型。心血来潮,我也来采用Python脚本在ANSYS中实现同样功能。

一、SCDM草图建模

在草图模式中,SCDM中提供了全面的基于Python脚本的草图工具API,常用方法如下:

01.png

今天我们绘制翼型需要用到Nurbs样条曲线,对应APISketchNurbs类,开发文档中方法如下:

02.png

创建的思路:我们可以先读取翼型坐标数据,存入数组中,然后创建草绘平面,采用SketchNurbs类中CreateFrom2DPoints方法实现。

二、翼型数据处理

对博主AbaPy分享的千万种翼型数据,我们可以简要对翼型的数据进行分类。

03.png

感谢AbaPy分享的翼型数据

下面给出几个的典型的翼型数据,两列数据为翼型曲线的坐标,前缘为(0, 0),后缘约为(1, 0),点的顺序从后缘沿上表面到前缘,再沿下表面到后缘。

04.png

我们可以发现坐标数据从第二行起,坐标之间通过空格分隔,非常有规律;所以就可以通过Python脚本读写文本,接下来循环每一行,然后分隔字符,并通过数组接收,就能得到所有坐标的列表集 合。


三、机翼模型创建

上述翼型数据中,起始与终止坐标一致的,我们可以直接创建样条曲线;如果不一致,就需要在翼面后端处创建直线。所以我们就需要判断初始的样条曲线是否封闭,如果不封闭就连接起始与终止点创建直线。
平直的机翼可以通过拉伸操作直接创建,这次代码演示如何创建翼根和翼梢的翼型轮廓。定义的初始参数为:翼根和翼梢处对应的弦长分别为1400mm、1000mm,机翼长度为2500mm,翼型厚度没有变化;由于翼型数据是单位化的,乘上弦长就是所需的翼型数据。代码如下:

01.png

创建的封闭的翼根与翼梢曲线切换到三维模式下填充成面,示意如下。

05.png

然后选择两个翼型面,创建融合特征,脚本代码如下:

02.png

生成的翼型特征如下所示:

06.png

上述脚本对多种翼型适用性好,比如ag04.dat:翼型在翼面后端无法使用样条曲线封闭时,就自动创建直线段封闭。

07.png

四、后记

机翼的上反角、扭转角、前缘后掠角、后缘前/后掠角、翼展等特征,都能通过SCDM脚本快速地创建,并实现参数化建模。最后也能创建一个外流场和边界命名,用于后续的机翼的外气动分析。

08.png

本文章内容摘自《SCDM脚本建模及二次开发》系列课中第16讲CFD分析准备-抽取内流场及创建外流场详解。


SpaceClaim几何处理二次开发代码&命令
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2020-03-16
最近编辑:6月前
小田老师
硕士 | 仿真工程师 欢迎关注ANSYS仿真与开发!
获赞 650粉丝 3778文章 62课程 4
点赞
收藏
作者推荐
未登录
2条评论
燕飞
做出自己敢相信的仿真结果。
3年前
老师你好。我找了一下帮助文件,发现SCDM的帮助文件,如Developers Guide和SpaceClaim_API 都是基于C#,F# 和 VB 编写的。是我没有找对地方吗,还是目前没有Python版本的帮助文件
回复 1条回复
仿真秀0414082546
签名征集中
4年前
小田老师,脚本中可以使用(x,y,z)方程来自定义三维几何么?面板上的主体——方程功能好像不能录制
回复
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈