本帖最后由 437271963 于 2016-10-14 13:00 编辑
trans函数转换坐标. - (defun C:dxw ( / ang p1 p2 p3 pt1 pt2)
- (setvar "CMDECHO" 0)
- (setq #os1 (getvar "osmode"));提取捕捉
- (if (and (setq pt1 (getpoint "\n指定起点->"))
- (setq pt2 (getpoint pt1 "\n指定终点->"))
- )
- (progn
- (setq p1 (trans pt1 1 0) p2 (trans pt2 1 0))
- (setq pt2 (mapcar '- pt2 pt1) p3 '(0 1))
- (setvar "osmode" 0);捕捉0
- (command"ucs" pt1 pt2 p3)
- (setq p1 (trans p1 0 1) p2 (trans p2 0 1))
- (setvar "osmode" 16383);设置捕捉
- (command"dimlinear" p1 p2)
- (setvar "osmode" #os1);捕捉还原
- )
- )
- (setvar "CMDECHO" 1)
- (princ)
- )
|