龙龙仔 发表于 2009-3-27 16:49:00

<p>8楼巳修改(程序只是勉強可用)</p>

userzhl 发表于 2009-3-27 18:09:00

<strong><font face="Verdana" color="#da2549">龙龙仔</font></strong>,8楼的程序我试了,没有修改呀.

英雄无敌 发表于 2009-3-28 16:11:00

<p>修改了一下龙龙仔的程序,不过这种情况只适用于所多重块内的所有块都是同一个插入点,如果不同,则还是有可能能位置移动的</p><p>(defun C:TT ()<br/>&nbsp;&nbsp; (setq DOC (vla-get-activedocument (vlax-get-acad-object)))<br/>&nbsp;&nbsp; (setq E (nentselp "\nSelect block:"));;要點綠色文字<br/>&nbsp;&nbsp; (setq A (car E))<br/>&nbsp;&nbsp; (setq OBJ_A (vlax-ename-&gt;vla-object A))<br/>&nbsp;&nbsp; (setq B (vla-objectidtoobject DOC (vla-get-ownerid OBJ_A)))<br/>&nbsp;&nbsp; (entmake (list '(0 . "INSERT")<br/>&nbsp;&nbsp;&nbsp; '(100 . "AcDbBlockReference")<br/>&nbsp;&nbsp;&nbsp; (cons 2 (vla-get-name B))<br/>&nbsp;&nbsp;&nbsp; (assoc 10 (entget (last (last e))))<br/>&nbsp;&nbsp;&nbsp; '(41 . 1.0)<br/>&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp; )<br/>&nbsp;&nbsp; (command "_.explode" (entlast))<br/>&nbsp;&nbsp; (command "_.erase" (last (last E)) "")<br/>)</p>

userzhl 发表于 2009-3-28 20:01:00

<p>楼上<strong><font face="Verdana" color="#61b713">英雄无敌</font></strong>,你可以打开文件试试,还是移位.</p>

samshs 发表于 2009-3-29 15:25:00

<p>以前见过有这样的代码 找到后再发上来</p>

龙龙仔 发表于 2009-3-30 08:06:00


;;未詳細測試
(defun C:TT (/ A B C DOC)
(setq DOC (vla-get-activedocument (vlax-get-acad-object)))
(setq A (nentselp "\nSelect block:"))
;;要點綠色文字
(setq C (entget (last (last A))))
(setq B (vla-objectidtoobject
   DOC
   (vla-get-ownerid (vlax-ename->vla-object (car A)))
   )
)
(entmake (list '(0 . "INSERT")
   '(100 . "AcDbBlockReference")
   (cons 2 (vla-get-name B))
   (assoc 10 C)
   (assoc 50 C)
   (assoc 41 C)
    )
)
(command "_.explode" (entlast))
(command "_.erase" (last (last A)) "")
)

userzhl 发表于 2009-3-30 10:13:00

谢谢<strong><font face="Verdana" color="#da2549">龙龙仔</font></strong>

huxu823 发表于 2021-4-30 11:24:21

感谢分享!!!!!

nijiea123 发表于 2022-7-18 18:25:16

测试有用 就是差个批量的
页: 1 [2]
查看完整版本: [求助]十万火急,哪位高手帮下忙,文件加密成多重匿名块了(已解决)?