本帖最后由 yjr111 于 2013-1-19 23:46 编辑
 - (defun c:tt(/ p1 p2 e dis )
- (setvar 'cmdecho 0)
- (vl-cmdf "line"(setq p1(getpoint"\n直线起点"))
- (setq p2(getpoint p1"\n直线端点"))
- ""
- )
- (setq e(entlast))
- (if *dis*
- (setq dis (getdist (strcat"\n输入偏移距离<" (rtos *dis* 2 2)">")))
- (setq dis (getdist (strcat"\n输入偏移距离<" ">")))
- )
- (if dis (setq *dis* dis)(setq dis *dis*))
- (setq n 1)
- (while(and(< n 3)(setq p1(getpoint"\n偏移方向")))
- (if p1(vl-cmdf "offset" dis e p1 ""))
- (setq n(1+ n))
- )
- (if (and(not p1)(< n 2))
- (progn
- (vla-offset (vlax-ename->vla-object e)dis)
- (vla-offset (vlax-ename->vla-object e)(* -1 dis))
- )
- )
- (princ)
- )
|