(defun c:da(/ s0 e e_list e_list_long p0 p10 p11 p13 p14 p0 L00 k1 k L0 ct axis t42 pp11 pp11_x
pp11_y chutu_scale_0)
(setvar "cmdecho" 0)
(princ "
请输入出图比例
(
默认值
)")(princ chutu_scale)
(setq chutu_scale_0 (getint))
(if (/= chutu_scale_0 nil)
(setq chutu_scale chutu_scale_0)
)
(princ "\n
请确认已经无碎数,无多余点
......")
(princ "\n
请选择要移动的标注
......")
(setq s0 (ssget ":s"))
(princ "\n
请指定偏移的方向
......")
(setq p0 (getpoint))
(setq L00 200)
(setq k1 (/ (float chutu_scale) 100))
(setq L0 (* L00 k1))
(setq ct 0)
(setq e (ssname s0 ct))
(setq e_list (entget e))
(setq e_list_long (length e_list))
(setq p10 (cdr(assoc 10 e_list)))
(setq p11 (cdr(assoc 11 e_list)))
(setq p13 (cdr(assoc 13 e_list)))
(setq p14 (cdr(assoc 14 e_list)))
(setq t42 (cdr(assoc 42 e_list)))
(if (and (<= (car p13) (+ (car p14) 1)) (>= (car p13) (- (car p14) 1)));;;;;
标注的是
Y
轴方向的长
度
(PROGN
(setq axis "Y")
(if (<= (cadr p11) (cadr p0))
(progn
(setq k 1)
)
(progn
(setq k (- 0 1))
)
)
(setq pp11_x (car p11))
(setq pp11_y (+ (cadr p11) (* (+ L0 (/ t42 2)) k)))
(setq pp11 (list pp11_x pp11_y))
(setq e_list (subst (cons 70 160) (assoc 70 e_list) e_list))
(entmod e_list)
(setq e_list (subst (cons 11 pp11) (assoc 11 e_list) e_list))