三级士官
UID2141241
U币21
G币562
技术0
主题14
精华0
阅读权限50
注册时间2014-1-3
最后登录2018-11-29
在线时间36 小时
自我介绍UG二次开发博客:www.ugufun.com
三级士官
|
老叶 发表于 2014-3-14 21:51
非常感谢楼主的分享,有源码就好了。
源码来了:
$$定义变量
ENTITY/pt1,pt2,LBL1,cs1,cs2
NUMBER/P(3),M,N,L(1),AA
NUMBER/X1,Y1,Z1
NUMBER/C,B,MAT(22),S,D
STRING/SX(20),SY(20),SZ(20)
$$选取查询点
MASK/2
L30:
gpos/'PICK A Point',p(1),p(2),p(3),RESP
JUMP/L30:,L90:,,RESP
pt1=point/p(1),p(2),p(3)
&DECPL=3
$$取点坐标并转换成小数点后两位数的字符串
SX='X='+blstr(1)+FSTRL(P(1))
SY='Y='+blstr(1)+FSTRL(P(2))
SZ='Z='+blstr(1)+FSTRL(P(3))
cs1=&wcs
&wcsdrw=2
cs2=csys/&wcs,origin,pt1
delete/pt1
&wcs=cs2
l50:
$$定位label引线坐标
POS/'Pick the next point',x1,y1,z1,resp
JUMP/L50:,L90:,,,RESP
$$设定字符大小,箭头样式
&ENSITE=5
C=&CSIZE
&CSIZE=2
B=&ARROW
&ARROW=1
&FILARW=1 $$箭头充满显示
p(1)=0
p(2)=0
$$判断label字符放置左右方位
IF/P(1)<X1,JUMP/L70:
L60:
LBL1 =LABEL/right,x1,y1,p(1),p(2),SX,SY,SZ
JUMP/L80:
L70:
LBL1 =LABEL/LEFT,x1,y1,p(1),p(2),SX,SY,SZ
l80:
l90:
$$恢复系统设定
MASK/ALL
&CSIZE=C
&ARROW=B
$$程序结束
TERM:
&wcsdrw=1
&wcs=cs1
HALT
|
|