qinleilei 发表于 2018-1-11 23:49:36

关于entmake生成普通块的问题


在网上找了一段代码,用entmake生成普通块。但是发现了一个问题,生成的块用块编辑时块的位置跳动,用这个块做出的最大包围框位置也跑掉了,求高手优化,代码作者不详,还是很感谢原作者提供的代码



(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)))
)


zhongys 发表于 2018-1-13 23:52:54

加一句(command "ucs" "w")

Linhay 发表于 2018-1-12 11:55:52

你说的这种问题我在手动建块的时候也遇到过,不知道是什么原因

edata 发表于 2018-1-12 17:44:15

只能证明和这段代码关系不大。。
传dwg
传获取包围框的lsp

USER2128 发表于 2018-1-13 09:09:29

需在原点制块,即:PT = '(0 0 0)
其它的,需自己思索
页: [1]
查看完整版本: 关于entmake生成普通块的问题