bai2000 发表于 2023-10-6 15:07:27

求一个按尺寸标注的基点批量插入块的程序

本帖最后由 bai2000 于 2023-10-6 15:24 编辑

贴一个论坛的朋友的按块基点进行标注的lisp,
求一个按尺寸标注的基点批量插入块的程序(块的方向能按尺寸方向角旋转)


xyp1964 发表于 2023-12-14 14:25:08

本帖最后由 xyp1964 于 2023-12-14 19:35 编辑




xinhaichun 发表于 2023-12-13 10:21:03

本帖最后由 xinhaichun 于 2023-12-13 10:30 编辑

这个需求是可以做出来的,前提条件是标注的基点方向要足够精确

bai2000 发表于 2023-12-14 16:47:04

院长,发个源码呗??

1211277255 发表于 2024-1-12 10:15:25

TT Error: no function definition: XYP-START 这个是什么问题

xyp1964 发表于 2024-1-13 11:03:21

bai2000 发表于 2023-12-14 16:47
院长,发个源码呗??

(defun c:tt()
"tt(尺寸标注基点批量插块)"
(defun xyp-R2D(r)(* r(/ 180 pi)))
(defun xyp-dxf(code e)(cdr(assoc code(entget e))))
(defun xyp-Ss2List(ss)(vl-remove-if-not'(lambda(x)(equal(type x)'ENAME))(mapcar'cadr(ssnamex ss))))
(defun xyp-DelSame(lst / a l)(whilelst(setq a(car lst)lst(vl-remove a lst))(or(member a l)(setq l(append l(list a)))))l)
(defun abc(ss bn / a lst x)
    (setq lst(mapcar'(lambda(x)(setq a(xyp-r2d(xyp-DXF 50 x)))(list(list(xyp-DXF 13 x)a)(list(xyp-DXF 14 x)a)))(xyp-Ss2List ss)))
    (mapcar'(lambda(x)(command"-insert"bn(car x)1 1(cadr x)))(xyp-DelSame(apply'append lst)))
)
(if(setq ss(ssget'((0 . "dim*"))))(abc ss "xlp3")) ;xlp3 图块名称
(princ)
)
页: [1]
查看完整版本: 求一个按尺寸标注的基点批量插入块的程序