(defun $add-ents>block$
(ents block / copy-zt dxf mat mxm mxv objs ref->def trp B-O)
;块外图元复制到块内,块外到块内,块内添加新图元,向块添加图元,添加图元到块,复制图元到块里面,添加到块
;没有支持非等比的块
;调用示例($add-ents>block$ (list (car (entsel "请选择图元准备复制到块内"))) (car (entsel "请选择一个块,即将添加新图元")))
(defun mxv (m v)
(mapcar '(lambda (r) (apply '+ (mapcar '* r v))) m)
)
(defun mxm (m q)
(mapcar (function (lambda (r) (mxv (trp q) r))) m)
)
(defun trp (m)
(apply 'mapcar (cons 'list m))
)
(defun Ref->Def (e / _dxf a l n mxm-data)
(defun _dxf (x l) (cdr (assoc x l)))
(if e
(progn
(setq l (entget e))
(setq a (- (_dxf 50 l)))
(setq n (_dxf 210 l))
(setq mxm-data (mxm
(list
(list (/ 1. (_dxf 41 l)) 0. 0.)