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