首页/文章/ 详情

以对数螺线为例,告诉你多点时ANSYS创建样条曲线BSPLIN的妙招

3年前浏览2143

在ANSYS建模过程中,有时需要创建样条曲线,如曲杆、曲面、索等。HELP中的样条曲线命令BSPLIN为:BSPLIN,P1,P2,P3,P4,P5,P6,XV1,YV1,ZV1,XV6,YV6,ZV6,即只有6个关键点。然而,实际建模时往往会远大于6个关键点,如几十个、上百个等,此时如何创建样条线呢?

创建BSPLIN的几个注意事项:

第一:BSPLIN命令最多可以通过200个关键点创建样条线。

第二:只要选择集中关键点是无序的(如KSEL等命令),则从最小编号开始按最短距离原则依次拟合生成一条样条线。如采用随机整数创建,因每次运行的随机数否会变化,最小号位置和大小也不会相同,因此创建的样条线都不会相同。

第三:只要选择集中关键点编号有序,则均按顺序拟合生成样条线。如自然序列,即关键点编号由小到大顺序排列时,会按此序拟合样条线;再如入集顺序(即被选入当前选择集的先后顺序),则均按关键点入集的先后顺序拟合样条线。

入集方法:GUI点菜单点击拾取关键点时会在LOG文件中留下命令行,分析其拾取过程主要由命令FLST、FITEM和P51X组成,因此可以将GUI点击关键点拾取过程编制成命令流,从而形成入集的先后顺序。命令流中给出了两种拾取示例,可供参考。

随机不重复整数的生成:利用取整函数将随机数取整,排除重复数字。这几句程序不够精炼,但也只是为了表达和说明关键点编号凌乱而已(命令流最前面的几句)。

下面的命令流需根据需要选择运行,详见命令流中的注释。

!对数螺线

FINISH$/CLEAR$/PREP7

!生成500个不重复的随机数整数

*GET,XT,ACTIVE,,TIME,WALL

XT=RAND(XT 1,XT 2)$XT=

*DIM,AA,,500

DOS=1$JS=1

*DOWHILE,DOS

IA=NINT(RAND(1,1000))

RS=0

*DO,I,1,JS

*IF,IA,EQ,AA(I),THEN

RS=1$*EXIT$*ENDIF

*ENDDO

*IF,RS,EQ,0,THEN

AA(JS)=IA$JS=JS 1$*ENDIF

*IF,JS,EQ,500,THEN

*EXIT$*ENDIF$*ENDDO

!关键点编号有序时是“BSPLIN,ALL”正确。关键点编号无序时,从最小编号开始按最近距离选择关键点,样条线不一定是预期曲线

A=2$K=0.1$CSYS,1

*DO,I,1,100

FAID=(I-1)*10

FAIR=FAID/180*ACOS(-1)

RI=A*EXP(K*FAIR)

!关键点从小到大顺序创建

!K,I,RI,FAID

!关键点编号随机编排

K,AA(I),RI,FAID

*ENDDO!

!直接创建样条曲线

!BSPLIN,ALL

!有入集先后顺序,利用GUI的点选命令实现

FLST,3,100,3

*DO,I,1,100,1

FITEM,3,AA(I)

*ENDDO!结束拾取

BSPLIN,,P51X

!在如有不太多的关键点时可写成如下:

!AA(I)是关键点号,因采用随机生成

!每次都不会相同,这里仅仅是用于关键点示意

FLST,3,5,3

FITEM,3,AA(2)

FITEM,3,AA(40)

FITEM,3,AA(180)

FITEM,3,AA(53)

FITEM,3,AA(35)

BSPLIN,,P51X创建样条线

这里注意FLST命令的使用方法(“FLST,NFIELD,NARG,TYPE,Otype,LENG”)其第一个命令参数NFIELD对应后续命令(这里为BSPLIN)的项数,NFIELD数目包括BSPLIN命令本身,即命令本身为第1个,其后参数分别对应第2和第3个。如“FLST,3,5,3”解读:第一个3表示后续命令有3项(命令本身 两个参数),5表示共拾取5个图素,最后的3表示拾取的是关键点;而对应的“BSPLIN,,P51X”就共有3项,1是BSPLIN,2为空,3为P51X。

这与在GUI方式有关,首先执行的是要进行的操作命令BSPLIN,然后才是拾取;但在命令流中是先拾取,然后再执行后续命令。命令BSPLIN至少要两个关键点,因此FLST参数中的第一个必须等于3,用2太少无法执行BSPLIN,用4则BSPLIN的前两个为空不容许(BSPLIN,,,P51X)。

当多个关键点时,利用FLST拾取方式轻松实现200个关键点之内的样条线建模。

image.png

声明:原创文章,欢迎留言与我讨论,如需转载留言

理论科普代码&命令其他软件
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2021-04-24
最近编辑:3年前
王新敏
硕士 | 教授 好好学习,天天快乐
获赞 122粉丝 611文章 96课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈