- (defun c:len ()
- (setvar "cmdecho" 0)
- (setq en (entsel "\n选择需要修改的线段:"))
- (setq lengthen (getreal "\n输入需增加或减少的长度:"))
- (setq pt1 (cadr en))
- (setq ent (entget (car en)))
- (setq pta (cdr (assoc 10 ent))
- ptb (cdr (assoc 11 ent))
- )
- (if (> (distance pta pt1) (distance pt1 ptb))
- (progn (setq pt2 (polar ptb (angle pta ptb) lengthen))
- (setq ent1 (cons 11 pt2))
- (setq ent (subst ent1 (assoc 11 ent) ent))
- (entmod ent)
- )
- (progn (setq pt2 (polar pta (angle ptb pta) lengthen))
- (setq ent1 (cons 10 pt2))
- (setq ent (subst ent1 (assoc 10 ent) ent))
- (entmod ent)
- )
- )
- (setvar "cmdecho" 1)
- (princ)
- )
|