规律曲线-弹簧
number/d,dz,n,nr,wr,dir,h,t
entity/ps1(5001),th,obj
nr=11
wr=19
h=120
n=10
dir=1
l10:
param/'梅雷提示!请输入弹簧参数...',$
'弹簧 内径:',nr,$
'弹簧 外径:',wr,$
'弹簧 高度:',h,$
'弹簧 圈数:',n,$
'旋向(1右旋/<>1左旋):',dir,resp
jump/l10:,end:,,resp
nr=absf(nr)
wr=absf(wr)
n=absf(n)
nnn=n*25
n=n*2
h=absf(h)-(wr-nr)/cosf(5)/2 $$弹簧高度只能是近似值
dz=(wr+nr)/4 $$ 簧圈半径
d=(wr-nr)/2 $$ 簧丝半径
if/wr<nr or wr==nr,jump/err1:
if/n<1,jump/err2:
if/n>200,jump/err3:
if/dir<>1,dir=-1
l20:
choose/'梅雷提示!请选择弹簧颜色...',$
'红 弹簧',$
'黄 弹簧',$
'蓝 弹簧',resp
jump/l10:,end:,,,co1:,co2:,co3:,resp
co1:
coj=1
jump/l30:
co2:
coj=2
jump/l30:
co3:
coj=3
l30:
gpos/'梅雷提示!请选择点位...',xx1,yx1,zx1,resp
jump/l20:,end:,,,resp
$$ 创建点
i=0
str1:
i=i+1
t=(i-1)/nnn
xt=cosf(dir*t*n*180)*dz+xx1
yt=sinf(dir*t*n*180)*dz+yx1
zt=h*t+zx1
ps1(i)=point/xt,yt,zt
if/t<1,jump/str1:
th=spline/ps1(1..i) $$ 创建样条
obj=soltub/th,diamtr,d $$ 创建管道
trm:
delete/ps1 $$ 删除对象
if/coj==1,&color(obj)=&red $$ 红色
if/coj==2,&color(obj)=6 $$ 黄色
if/coj==3,&color(obj)=&blue $$ 蓝色
&layer(th)=256 $$ 把对象移到第256层
layer/inact,256 $$ 第256层 不可见也不可选择
jump/l30:
end:
halt
err1:
messg/'梅雷提示!【弹簧外径 必须大于 内径】请重新输入参数...'
jump/l10:
err2:
messg/'梅雷提示!【弹簧 圈数不得小于1】请重新输入参数...'
jump/l10:
err3:
messg/'梅雷提示!【弹簧 圈数不得大于200】请重新输入参数...'
jump/l10:
_____________________________________________________________________________ _
中磊UG二次开发教程 梅雷著 qq1821117007
学UG就上UG网 http://www.9sug.com/
|