- 积分
- 1902
- 明经币
- 个
- 注册时间
- 2011-1-18
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
发表于 2011-2-11 16:58:56
|
显示全部楼层
如果是“text”像素,可以这么做,
(defun c:gc ()
(princ "\n批量修改高程,可自由选择需要修改的高程点,并可指定修改后高程标注的高度,宽高比,注意:修改后的高程会归入“高程层”")
(setq hh(getreal "\n高程修正值:"))
(setq aa(getreal "\n字体的大小:"))
(setq bb(getreal "\n字体宽高比:"))
(if (setq ss (ssget '((0 . "text") (1 . "1*.*,2*.*,3*.*,4*.*,5*.*,6*.*,7*.*,8*.*,9*.*"))))
(progn
(setq i -1 )
(while (setq s1 (ssname ss (setq i (1+ i))))
(setq s1 (entget s1))
(setq old (atof (cdr (assoc 1 s1))) new (+ hh old))
(setq new1 (rtos new 2 2))
(setq s1 (subst (cons 1 new1) (assoc 1 s1) s1))
(if aa (setq s1 (subst (cons 40 aa) (assoc 40 s1) s1)))
(if bb (setq s1 (subst (cons 41 bb) (assoc 41 s1) s1)))
(setq s1 (subst (cons 8 "高程层") (assoc 8 s1) s1))
(entmod s1)
)
)
)
(princ (strcat "\n" "共处理" (itoa i) "个点" ))
) |
|