⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 6.1.grs

📁 UG二次开发很好的东西 需要的朋友可以下载来看看 很好用啊
💻 GRS
字号:
entity/cur(100)        $$曲线组
entity/startpt         $$连接曲线的起点
entity/result(100)     $$排列之后的曲线组  
entity/joincurve       $$拟合曲线组形成的曲线
entity/referance       $$参考点
number/a(200,3),b(7),c(3),flag(100)

l10:
mask/3,6,9
ident/'pick curves',cur,cnt,num,resp
jump/l10:,trm:,,resp
mask/all

$$提取曲线组的起点和终点形成点集。
l20:
i=0

l30:
i=i+1
m=2*i-1
n=2*i
a(m,1..3)=&spoint(cur(i))
a(n,1..3)=&epoint(cur(i))


l40:
if/i<num,jump/l30:
if/i==num,jump/l50:

$$计算点集中坐标值不同的点的个数。
l50:
i=1
count=1

l60:
i=i+1
dif=0
j=0

l70:
j=j+1
tol1=absf(a(i,1)-a(j,1))
tol2=absf(a(i,2)-a(j,2))
tol3=absf(a(i,3)-a(j,3))
if/tol1>0.1 or tol2>0.1 or tol3>0.1,dif=dif+1

l80:
if/j<(i-1),jump/l70:
if/j==(i-1),jump/l90:

l90:
if/j==dif,count=count+1

l100:
if/i<n,jump/l60:
if/i==n,jump/l105:

l105:
$$若count==num+1,则曲线组不闭合。
if/count==num+1,jump/l110:
$$若count==num,则曲线组闭合。
if/count==num,jump/l170:

$$若曲线组不闭合,则执行以下程序以确定连接曲线的起点。
l110:
i=0

l120:
sameptnum=0
i=i+1
j=0
xref=a(i,1)
yref=a(i,2)
zref=a(i,3)

l130:
j=j+1
tol1=absf(xref-a(j,1))
tol2=absf(yref-a(j,2))
tol3=absf(zref-a(j,3))
if/tol1<0.1 and tol2<0.1 and tol3<0.1,sameptnum=sameptnum+1

l140:
if/j<n,jump/l130:
if/j==n,jump/l150:

l150:
if/sameptnum==2,jump/l120:
if/sameptnum==1,jump/l160:

l160:
indx=i
startpt=point/a(indx,1..3)
jump/l180:

$$若曲线组闭合,则第一条曲线的起点作为连接曲线的起点。
l170:
c(1..3)=&spoint(cur(1))
startpt=point/c(1..3)
jump/l180:

$$将旗帜数组赋零。
l180:
do/l190:,i,1,num
flag(i)=0

l190:
referance=startpt
m=1

l200:
k=0

l210:
k=k+1
$$判断曲线是否被访问。
if/flag(k)==0,jump/l220:
if/flag(k)<>0,jump/l210:

l220:
$$计算参考点referance和曲线cur(k)的距离
b(1..7)=reldst/referance,cur(k)
if/b(7)>0.1,jump/l210:
if/b(7)<=0.1,jump/l230:

l230:
$$若距离<0.1,则执行以下程序。
flag(k)=1
referance=cur(k)
result(m)=cur(k)
m=m+1

l240:
if/m<(num+1),jump/l200:
if/m==num+1,jump/l250:

l250:
$$将曲线组拟合成一条曲线。
joincurve=spline/approx,result(1..num)
blank/startpt

trm:
halt

⌨️ 快捷键说明

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