以下是部分答案。
下面将移动点块的插入点
在高程属性给定的高程处。
- (defun c:movpt (/ blk en enb enl i ipt ss )
- (setq ss (ssget "_X" (list (cons 0 "INSERT") (cons 2 "Point"))))
- (repeat (setq i (sslength ss))
- (setq blk (ssname ss (setq i (1- i)))
- enb (entget blk)
- ipt (assoc 10 enb)
- en (entnext blk)
- enl (entget en)
-
- )
- (while (= (cdr (assoc 0 enl)) "ATTRIB")
- (if (= (cdr (assoc 2 enl)) "ELEV")
- (entmod (subst (cons 10 (list (car ipt) (cadr ipt) (atof (cdr (assoc 1 enl))))) (assoc 10 enb) enb))
- )
- (setq en (entnext en) enl (entget en))
- )
- )
- )
|