购买与咨询 NX 二次开发视频教程,请联系微信号:13890821008 QQ号:85585969
$$ 旋转对象 以 XY平面 未知角转正
$$ 代码开始
ENTITY/quxian,wzjzz_x,obj(1000),TQFZQX
NUMBER/NUM1(3),NUM2(3),mat1(12)
NUMBER/matx(12),maty(12),matz(12)
$$ 查看当前工作视图 保存到YLDGZST
IF/&WORKVW=='TOP',YLDGZST=1 $$ 顶
IF/&WORKVW=='FRONT',YLDGZST=2 $$ 前
IF/&WORKVW=='RIGHT',YLDGZST=3 $$ 右
IF/&WORKVW=='LEFT',YLDGZST=4 $$ 左
IF/&WORKVW=='BOTTOM',YLDGZST=5 $$ 底
IF/&WORKVW=='BACK',YLDGZST=6 $$ 背
IF/&WORKVW=='TFR-ISO',YLDGZST=7 $$ 顶前右等轴侧
IF/&WORKVW=='TFR-TRI',YLDGZST=8 $$ 顶前右斜轴侧
LDX:
ident/'君闲开发提示:请选择对象...',obj,cnt,nm,resp
ifthen/nm>1000
messg/'选择的对象超过1000个...','请重新选择'
jump/LDX:
else
endif
JUMP/LDX:,HALT:,,,resp
VIEW/1 $$ 设置工作视图 为[TOP 顶]
L10:
MASK/3,72
ident/'君闲开发提示:请选择曲线...',quxian,resp
JUMP/LDX:,END:,,,resp
$$ &TYPE 为返回实体类型
IF/&TYPE(quxian)==3,JUMP/FZQX:
$$提取 面的边缘曲线
TQFZQX=soledg/quxian,cnt,n

●●●请先
登陆 或
注册 后查看●●●
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$ 未知直线 在XY平面 看过去 是正的
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
XY:
CHOOSE/'君闲开发提示:请选择按钮...',$
'与X轴平行',$
'与Y轴平行',resp
JUMP/L20:,END:,,,STXZ:,STXF:,resp
STXZ:
ZZJ=ang
IF/(NUM1(1)-NUM2(1))*(NUM1(2)-NUM2(2))>0,ZZJ=-ang
IF/ang==0,ZZJ=180
matx=MATRIX/XYROT,ZZJ $$ 生成旋转矩阵 绕Z轴
JUMP/SXX:
STXF:
ZZJ=ang-90
IF/(NUM1(1)-NUM2(1))*(NUM1(2)-NUM2(2))>0,ZZJ=90-ang
IF/ang==90,ZZJ=180
matx=MATRIX/XYROT,ZZJ $$ 生成旋转矩阵 绕Z轴
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$ $$ 变换的实现
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
SXX:
CHOOSE/'请选择按钮...',$
'移动',$
'复制',resp
JUMP/XY:,END:,,,YD:,FZ:,resp
YD:
wzjzz_x=TRANSF/matx,obj(1..nm),MOVE $$ 移动变换的实现
JUMP/END:
FZ:
wzjzz_x=TRANSF/matx,obj(1..nm) $$ 复制变换的实现
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$ XYROT 绕Z轴
$$ YZROT 绕X轴
$$ ZXROT 绕Y轴
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
END:
$$ 将坐标系&WCS移到原点上
&WCS=CSYS/&WCS,ORIGIN,0,0,0
$$ 设置工作视图为原来的视图
VIEW/YLDGZST
$$ 删除提取的曲线
DELETE/TQFZQX
HALT:
HALT
TEDE:
DELETE/TQFZQX
JUMP/L10:
WWW:
$$ 将坐标系&WCS移到一点上
&WCS=CSYS/&WCS,ORIGIN,0,0,0
JUMP/L1L:
$$ 生成旋转矩阵 绕Z轴
$$ 变换的实现
FZQX:
mat1=MATRIX/XYROT,360
TQFZQX=TRANSF/mat1,quxian
JUMP/TQD: