create-upcenter.grs

来自「UG二次开发很好的东西 需要的朋友可以下载来看看 很好用啊」· GRS 代码 · 共 45 行

GRS
45
字号
proc/face,facenum,pt,uppt,dis
entity/face(50)        $$条纹灯花的曲面
entity/pt              $$条纹灯花的曲面上的点
entity/uppt            $$条纹灯花的曲面上的点的偏置点
entity/ln              $$过原点沿minface的法矢量的直线
entity/minface         $$最近距离参考曲面
number/a(3),b(7)

l10:
if/facenum<>1,jump/l20:
if/facenum==1,jump/l50:

$$若曲面个数facenum<>1,则寻找离点pt最近的曲面。
l20:
i=0

l30:
i=i+1
b(1..7)=reldst/pt,face(i)
if/b(7)>=0.1,jump/l30:
if/b(7)<0.1,jump/l40:

l40:
minface=face(i)
jump/l60:

l50:
$$若曲面个数facenum==1,则离点pt最近的曲面为face(1)。
minface=face(1)
jump/l60:

l60:
$$确定pt在曲面minface中的u、v参数。
sparf/minface,pt,u,v
$$计算pt在曲面minface的法矢量。
a(1..3)=snorf(minface,u,v)
$$过原点沿minface的法矢量做直线。
ln=line/a(1..3),0,0,0
$$过点pt沿直线ln作偏置点uppt。
uppt=point/pt,vect,ln,zsmall,dis
delete/ln

trm:
return

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?