我使用这段代码将匿名块更改为普通块。
- ;;Anonymous block change to normal block
- (if (setq ss (ssget "_+.:S:E:L" '((0 . "INSERT") (2 . "`**"))))
- (progn
- (setq pt (cdr(assoc 10(entget(ssname ss 0)))))
- (command "_.explode" ss )
- (setq ss2 (ssget "p"))
- (emkblk ss2 pt n )
- (princ "\n>>>Complete!")
- )
- (alert "\nNot Anonymous block, please try again!...")
- )
- (defun emkblk (ss pt name / i)
- (entmake (list '(0 . "block") (cons 2 name) '(70 . 0) (cons 10 pt)))
- (repeat (setq i (sslength ss)) (entmake (cdr (entget (ssname ss (setq i (1- i)))))) )
- (entmake '((0 . "ENDBLK")))
- (command "_.erase" ss "")
- (entmake (list '(0 . "INSERT") (cons 2 name) (cons 10 pt)))
- )
有更好的方法吗?有什么建议吗?谢谢 |