lisp将图元追加选择_晓东CAD家园-论坛-A/VLISP-向块添加新图元,添加图元到块内 - Powered by Discuz!...

这是一个LISP函数,用于将图元复制并追加到块内,适用于块内添加新图元或者从块外复制图元到块内。函数考虑了图元的坐标转换和矩阵运算,但不支持非等比缩放的块。
摘要由CSDN通过智能技术生成

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值