📄 create-wcs.grs
字号:
proc/cur1,cur2,workcsys
entity/cur1 $$第一条曲线
entity/cur2 $$第二条曲线
entity/workcsys $$生成的工作坐标系
entity/st1 $$第一条曲线的起点
entity/end1 $$第一条曲线的终点
entity/st2 $$第二条曲线的起点
entity/end2 $$第二条曲线的终点
entity/ln1 $$连接第一条曲线起点和终点的直线
entity/ln2 $$连接第二条曲线起点和终点的直线
entity/origpt $$当前坐标系下直线ln1和ln2的交点
entity/pt1 $$确定工作坐标系的第一点。
entity/pt2 $$确定工作坐标系的第二点。
number/a(3),b(7)
l10:
$$提取第一条直线的起点st1和终点end1,并连接成直线ln1。
a(1..3)=&spoint(cur1)
st1=point/a(1..3)
blank/st1
a(1..3)=&epoint(cur1)
end1=point/a(1..3)
blank/end1
ln1=line/st1,end1
blank/ln1
$$提取第二条直线的起点st2和终点end2,并连接成直线ln2。
a(1..3)=&spoint(cur2)
st2=point/a(1..3)
blank/st2
a(1..3)=&epoint(cur2)
end2=point/a(1..3)
blank/end2
ln2=line/st2,end2
blank/ln2
$$在当前坐标系下求直线ln1和ln2的交点。
origpt=point/intof,ln1,ln2
blank/origpt
l20:
$$计算点origpt和st1的距离。
b(1..7)=reldst/origpt,st1
dist1=b(7)
$$计算点origpt和end1的距离。
b(1..7)=reldst/origpt,end1
dist2=b(7)
$$按两者距离的大小确定点pt1。
ifthen/dist1>=dist2
pt1=st1
else
pt1=end1
endif
l30:
$$计算点origpt和st2的距离。
b(1..7)=reldst/origpt,st2
dist1=b(7)
$$计算点origpt和end2的距离。
b(1..7)=reldst/origpt,end2
dist2=b(7)
$$按两者距离的大小确定点pt2。
ifthen/dist1>=dist2
pt2=st2
else
pt2=end2
endif
l40:
$$由三点origpt,pt1,pt2确定工作坐标系,并删除所有点。
workcsys=csys/origpt,pt1,pt2
delete/st1,end1,ln1,st2,end2,ln2,origpt
return
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -