auto lisp 求解

auto lisp 求解,第1张

(setq SS1 (nentsel))

(setq F1 (entget (car SS1)))

(setq E1 (assoc 1 F1))

(setq A (cdr E1))

(cdr list)当"list"是点对表时,Cdr函数返回点对表的第二个元素,而不是以表的形式返回它。

所以(car (cdr E1))就出错了,因为car的参数必须是一个表而不能为一个元素。

返回直线段的中点

用法: (ptmid 直线段图元)

(defun ptmid(Xent)

(setq dxf (entget Xent)

p10 (cdr (assco 10 dxf))

p11 (cdr (assoc 11 dxf))

mid (mapcar '* '(0.5 0.5 0.5) (mapcar '+ p10 p11))

)

)

(cdr (assoc 370 (entget (tblobjname "layer" "0")))) 得到图层“0”的线宽

当图层线宽为”默认“时,得到的值为-3,而当设置了线宽时,得到的就是

图层线宽值(以mm为单位的线宽的100倍)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12079040.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存