实体分割增强版 GRIP 源代码 分享给大家
源代码直接翻译就可以用了.......
entity/obj1(500),obj2,pl
entity/pt1,pt2,pt3,l1,l2
strat:
choose/'-----------------',$
'《 一点 分割 》',$
'《 两点 分割 》',$
'《 直线 分割 》',$
'==功能说明==',deflt,1,resp
jump/pr:,end:,,,A10:,B10:,l10:,pr:,resp
$$ 一点分割===========================================
A10:
mask/all
ident/'讯呈提示:一点分割,选择要分割的实体',obj1,cnt,num,resp
jump/strat:,end:,,,resp
A20:
gpos/'讯呈提示:选择一点',x1,y1,z1,resp
jump/A10:,end:,,,resp
x2=x1+10
y2=y1+10
A30:
choose/'选择方向:',$
'《 Z-X 》方向',$
'《 Z-Y 》方向',$
'《 X-Y 》方向',deflt,1,resp
jump/A10:,end:,,,x10:,y10:,z10:,resp
x10:
draw/off $$更新关闭
pt1=point/x1,y1
pt2=point/x2,y1
jump/A40:
y10:
draw/off $$更新关闭
pt1=point/x1,y1
pt2=point/x1,y2
jump/A40:
z10:
draw/off $$更新关闭
pt1=point/x1,y1,z1
pt2=point/x2,y1,z1
jump/A50:
A40:
l1=line/pt1,pt2
l2=line/parlel,l1,zsmall,10
pl=plane/l1,l2
draw/on $$更新打开
obj2=split/obj1(1..num),with,pl
delete/pt1,pt2,l1,l2,pl
jump/A10:
A50:
l1=line/pt1,pt2
l2=line/parlel,l1,ysmall,10
pl=plane/l1,l2
draw/on $$更新打开
obj2=split/obj1(1..num),with,pl
delete/pt1,pt2,l1,l2,pl
jump/A10:
$$ 两点分割==============================================
B10:
mask/all
ident/'两点分割,选择要分割的实体',obj1,cnt,num,resp
jump/strat:,strat:,,,resp
B20:
gpos/'选择第一点',x1,y1,z1,resp
jump/B10:,end:,,,resp
B30:
gpos/'选择第二点',x2,y2,z2,resp
jump/B10:,end:,,,resp
B40:
draw/off $$更新关闭
pt1=point/x1,y1
pt2=point/x2,y2
l1=line/pt1,pt2
l2=line/parlel,l1,zsmall,10
pl=plane/l1,l2
draw/on $$更新打开
obj2=split/obj1(1..num),with,pl,cnt,n
delete/pt1,pt2,l1,l2,pl
jump/B10:
$$ 直线分割==============================================
L10:
mask/all
ident/'直线分割,选择要分割的实体',obj1,cnt,num,resp
jump/strat:,strat:,,,resp
L20:
mask/3
ident/'【讯呈提示:】选择一条直线',l1,resp
jump/strat:,strat:,,,resp
L30:
draw/off $$更新关闭
l2=line/parlel,l1,zsmall,10
pl=plane/l1,l2
draw/on $$更新打开
obj2=split/obj1(1..num),with,pl,cnt,n
delete/l2,pl
jump/L10:
end:
halt
pr:
jump/strat: |