chpmould 发表于 2008-6-13 12:16:00

块替换块的Lisp

本帖最后由 chpmould 于 2012-9-2 16:01 编辑 <br /><br /><P><FONT size=6>例如:选择块"A",然后选择块"B",</FONT><FONT size=6>结果将块"B"替换为块"A".</FONT></P>
<P><FONT size=6>谢谢!</FONT></P>

skynoon 发表于 2010-5-9 12:52:00

下回来参考 刚好能用到

yuwen206 发表于 2009-7-7 11:21:00

<p>还是18楼的最耿直顶18楼</p>

freefeng 发表于 2008-8-22 16:04:00

<p>有了吗?发出来共享一下吧</p>

kyz2007 发表于 2008-6-16 10:14:00

难道没有吗?

ljttjl 发表于 2008-6-18 22:19:00

<p>可以实现,联系:ljttjl@ tom.com,</p>

ZZXXQQ 发表于 2008-8-22 21:19:00

本帖最后由 作者 于 2008-8-23 22:31:42 编辑

一般ljttjl不提供源码。


;选定块替换 明经 ZZXXQQ 2008.8.22
(defun c:cbt ()
(if (and (setq a (entsel "\nSelect a Block :"))
      (setq ent (entget(car a)))
   (= (cdr (assoc 0 ent)) "INSERT"))
(if (and (setq b (entsel "\nSelect a Block for change :"))
       (setq ent1 (entget(car b)))
       (= (cdr (assoc 0 ent)) "INSERT"))
    (entmod (subst (assoc 2 ent) (assoc 2 ent1) ent1))
)
)
(princ)
)

freefeng 发表于 2008-8-23 11:40:00

<p>老大,好像有些问题哦</p><p>&nbsp; 命令: cbt</p><p>Select a Block :<br/>Select a Block for change :; 错误: DXF 组不正确: (2 (-1 . &lt;图元名: 7ef03550&gt;) (0 . <br/>"INSERT") (330 . &lt;图元名: 7ef01cf8&gt;) (5 . "18A") (100 . "AcDbEntity") (67 . 0) <br/>(410 . "Model") (8 . "0") (100 . "AcDbBlockReference") (2 . "A$C28A570E1") (10 <br/>17.5316 8.50516 0.0) (41 . 1.0) (42 . 1.0) (43 . 1.0) (50 . 0.0) (70 . 0) (71 . <br/>0) (44 . 0.0) (45 . 0.0) (210 0.0 0.0 1.0))</p>

ZZXXQQ 发表于 2008-8-23 22:33:00

函数用错了。5楼已改。

freefeng 发表于 2008-8-26 14:54:00

<p>很好用,辛苦老大了,能否弄一个能在非当前视口中直接冻结当前图层的程序啊?</p><p></p>

chpmould 发表于 2008-9-26 17:17:00

谢谢楼上的源代码.

aileiwu 发表于 2008-10-22 07:21:00

我看不到
页: [1] 2 3 4 5
查看完整版本: [求助]求块替换块的Lisp