将所选的标注对象沿远离标注对象方向移动一定距离(要移进,可以使用负距离) - (defun c:test( / os ss dist i ent ents pt1 pt2 ang)
- (setq ss (ssget '((0 . "DIMENSION"))))
- (setq dist (getdist "\n输入移动距离:"))
- (setq i 0)
- (setq os (getvar "osmode"))
- (setvar "osmode" 0)
- (setvar "cmdecho" 0)
- (repeat (sslength ss)
- (setq ent (ssname ss i))
- (setq ents (entget ent))
- (setq pt1 (cdr (assoc 13 ents)))
- (setq pt2 (cdr (assoc 14 ents)))
- (setq ang (+ (angle pt2 pt1) (/ pi 2.0)))
- (command "_.move" ent "" '(0 0) (polar '(0 0) ang dist))
- (setq i (1+ i))
- )
- (setvar "osmode" os)
- (princ)
- )
|