登录论坛

查看完整版本 : [讨论]APDL命令流挑战赛二——弹簧的参数化绘制


windows251
2008-04-09, 19:25
不同的人对模型和命令的掌握程度和理解程度不同,编写的代码也会有差异。
(下面提供一些命令流,仅供参考)(摘自振动论坛)

windows251
2008-04-09, 19:26
fini
/clear
/filn,spring
/title,helix
pi=3.1415926
R=4
r1=0.5
n=4
h=10
/prep7
csys,0
*do,t,0,1,0.01
xi=R*cos(t*(n*2*pi))
yi=R*sin(t*(n*2*pi))
zi=h*t
k,100*t+1,xi,yi,zi
*enddo
ksel,s,,,1,100,1
bspline,all
wpoff,kx(1),ky(1)
wprota,,-90,
csys,4
CYL4,0,0,0,,r1,360
csys,0
vdrag,1,,,,,,1
save,all
fini

windows251
2008-04-09, 19:27
fini
/clear,start
/filn,spring
/prep7
pi=acos(-1)
r0=2 !!!弹簧丝的半径
r1=10 !!!!弹簧的半径
n0=5 !!!!弹簧的圈数
n1=36 !!!!设置1圈弹簧分为36份
h=6 !!!!每圈弹簧的间距
yd=360/n1
zd=h/n1 !!!!每个节点在Z方向的增量
WPCSYS,-1,0
wpave,7,8,9-h*n0/2 !!!!设置弹簧的中心坐标为(7,8,9)
wpro,,40, !!!!设置弹簧的偏转角度
CSWPLA,11,1,1,1,
*do,i,1,n1*n0+1,1
k,i,r1,(i-1)*yd,(i-1)*zd
*enddo
bspl,all
KWPAVE,1
wpro,,90,
CYL4,,,r0
VDRAG,1,,,,,,1

windows251
2008-04-09, 19:28
fini
/clear,start
/prep7
r=3
rs=0.3
n=20
s=1
pi=3.14159265
*do,i,1,n+6+3*n,1
x=r*cos((i-1)*2*pi/n)
y=r*sin((i-1)*2*pi/n)
z=(i-1)*s/n
k,i,x,y,z
*enddo
*do,i,1,n+1+3*n,5
bsplin,i,i+1,i+2,i+3,i+4,i+5
*enddo
lcomb,all
csys,4
wpro,,90
cyl4,kx(1),ky(1),rs,360
wpro,,-90
vdrag,1,,,,,,1
save,all
fini