哦 不好意思 中间有一点错了 当时只是觉得这个思路 没有测试 改正后 应该是
*get,enum,elem,0,num,max
*do,j,1,8
i%j%=nelem(enum,j)
*enddo
alls
nsel,s,ext
*dim,n_mask,array,ndinqr(0,14)
*vget,n_mask,node,1,nsel
natsurf=0
*do,j,1,8
*if,n_mask(i%j%),gt,0,then
natsurf=n_mask(i%j%)+natsurf
*endif
*enddo
*do,j,1,8
i%j%=
*enddo
测试如下
/prep7
et,1,45
block,0,1,0,1,0,1
vmesh,all
ngen,2,100,all,
egen,2,100,all
vclear,all
vdel,all !! 3x3x3矩阵
esel,s,,,50 !! 边界上
.....上面程序
结果 :natsurf=4 得到4 单元在边界上 (>=4在边界上)
alls
esel,s,,,41 !!中间的那个
.....上面程序
结果: natsurf=0 单元在里面
alls
edel,50 !! 删除边界上一个
esel,s,,,41 !! 中间的单元露出来
.....上面程序
结果:natsurf=4 单元在边界上 |