APDL获取特定位置处系列节点编号的常规思路

点击此处查看 ✿水哥原创ANSYS视频教程清单 ✿

水哥专属答疑服务已开通,点此此处查看详情

很多时候采用APDL进行模型加载、创建弹簧单元或者其他特殊操作的时候,需要获取特定位置处的节点编号。如果节点编号、或者节点位置坐标是有规律的,那么可根据规律写个循环直接存储在数组中即可。
而对于节点编号、节点位置坐标毫无规律的节点组而言,要想依次获取节点编号,则需要一定的操作方法,这个问题也是很多粉丝在后台问过水哥,今日统一发布下获取方法,供大家套用。
主要思路如下:
1、根据节点所在几何元素或者其他统一的坐标属性,例如X坐标相同等条件,将节点组选择出来;
2、利用get命令获取节点组总的节点数目,并创建维度为节点数目的数组用于存储节点编号;
3、利用get命令获取在所选节点数组中编号最小的节点编号并赋值给数组的第一个元素;
4、利用循环以及nnear命令依次获取节点编号。
注意:nnear函数命令的意思是返回离所选节点编号最近节点的编号。
下面以一个案例演示:
建模APDL:

finish

/clear

/prep7

et,1,plane182

mp,ex,1,1

blc4,,,1000,500

wprota,,90

wprota,,,45

asbw,all

asel,s,,,2

aesize,all,40

asel,s,,,3

aesize,all,20

allsel,all

amesh,all

APDL获取特定位置处系列节点编号的常规思路

如上所示平面图,现需要获取编号为5直线上面所有节点的编号,由于采用的是直接指定面单元尺寸的方法划分,故而5号直线段上面的节点间距都在变化,采用节点坐标的方法来获取节点编号不是特别现实。

APDL获取特定位置处系列节点编号的常规思路

获取代码如下:
!根据几何元素选取节点组
lsel,s,,,5
nsll,s,1
!===============
!获取节点数目,并创建数组用于存储编号
*get,Ncount,node,0,count
*dim,Num,array,Ncount
!===============
!获取最小节点编号,并赋值给数组第一个元素
*get,nummin,node,0,num,min
Num(1)=nummin
!==============
!写循环,分别获取节点编号
*do,i,2,Ncount
Num(i)=nnear(Num(i-1))
nsel,u,,,Num(i-1)
*enddo
*status,Num
!==============
注意上述循环中,一定要在循环体中使用nsel,u命令移除上一个节点,不然就会在两个1和2两个节点编号之间循环。

APDL获取特定位置处系列节点编号的常规思路

有了上述节点编号数组后,就可进行其他操作了,例如建立弹簧单元、施加荷载等。
上述命令流大家都可套用,唯一不同的是需要同学们自己根据节点属性通过合理的方法来选择节点组,例如通过:
1、lsel,s,loc,x,1000$ nsll,s,1
2、esel,s,ename,,180$ nsle,s,1
3、asel,s,mat,,1$ nsla,s,1
……….
祝好
ANSYS结构院
2021.12.19

欢迎搜索关注本站微信公众号:ANSYS结构院

如果觉得本网站的文章和资源对您的研究具有一定的帮助,欢迎给网站捐助,您的支持是我坚持下去的动力!

© 版权声明
THE END
喜欢就支持一下吧
点赞1赞赏分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码

    暂无评论内容