liminnet 发表于 2008-6-10 18:42:00

artken 发表于 2008-6-11 04:34:00

<p>ET工具里不是有吗</p><p></p>

liminnet 发表于 2008-6-11 12:43:00

caoyin 发表于 2008-6-11 18:23:00

(defun c:tt (/ delAtt ss i)<br/>&nbsp; (defun delAtt (ename / obj bn bnlst)<br/>&nbsp;&nbsp;&nbsp; (setq obj (vlax-ename-&gt;vla-object ename)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bn&nbsp; (vla-get-Name obj)<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; (if (= (vla-get-HasAttributes obj) :vlax-true)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (progn<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (foreach x (vlax-invoke obj 'getattributes)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (vla-delete x)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (if (not (member bn bnlst))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (progn<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq bnlst (cons bn bnlst))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (vlax-for x<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (vla-item (vla-get-blocks<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (vla-get-activedocument (vlax-get-acad-object))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bn<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (if (= (vla-get-ObjectName x) "AcDbAttributeDefinition")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (vla-delete x)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp; )<br/>&nbsp; (princ "\n选择需要去除属性的块...")<br/>&nbsp; (if (setq ss (ssget '((0 . "insert"))))<br/>&nbsp;&nbsp;&nbsp; (repeat (setq i (sslength ss))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (delAtt (ssname ss (setq i (1- i))))<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp; )<br/>)

liminnet 发表于 2008-6-12 18:20:00

caoyin 发表于 2008-6-13 11:44:00

本帖最后由 作者 于 2008-6-13 11:47:00 编辑 <br /><br /> <p>4楼的代码虽然能去除属性,但跟正常的普通块仍有区别,正常的普通块双击则</p><p>激活&nbsp;bedit (或 refedit) 命令,而4楼的代码修改过的属性块双击则激活 eattedit</p><p>请高手指教!!</p>

liminnet 发表于 2008-6-13 13:22:00

liminnet 发表于 2008-6-13 16:28:00

danxingpen 发表于 2008-6-13 16:42:00

一个只删除块属性实例(1楼),<br/>一个只删除块属性定义(4楼),<br/><br/>把一楼和四楼的程序整合起来就是完整的了,,,,,,<br/>

liminnet 发表于 2008-6-14 21:17:00

页: [1]
查看完整版本: 流浪大哥,这是你去年在网易帮我写的程序能写一下吗?