本帖最后由 自贡黄明儒 于 2013-7-19 11:19 编辑
;;本次练习将对象从p1移到p2,并旋转45度
 - (defun C:w1 (/ AN M MATR OBJ P1 P2 Q)
- (setq obj (vlax-ename->vla-object (car (entsel))))
- (setq p1 (getpoint "\n >基点"))
- (setq p2 (getpoint "\n >>终点"))
- (setq m (MAT:TranslateBy2P p1 p2)) ;移动矩阵
- (setq an (/ (* 45 pi) 180))
- (setq q (mat:rotation p1 an)) ;转动矩阵
- (setq matr (MAT:mxm m q)) ;矩阵相乘:移动+转动
- (vla-transformby obj (vlax-tmatrix matr))
- (princ)
- )
这样就可以不使用command命令了,据说是比较高级的写法
早会了这个的话,我的单向阵列,超级等分就容易多了,速度也快了 |