brainstorm 发表于 2008-2-28 12:03:00

<p>(defun c:test (/ ss en)<br/>&nbsp;&nbsp;&nbsp; (Defun put-visible (bn visible / bl)&nbsp;;&nbsp;&nbsp;&nbsp; <br/>&nbsp;(If (Assoc 66 (EntGet bn))<br/>&nbsp;&nbsp;&nbsp;&nbsp; (Progn (SetQ bn (EntNext bn)<br/>&nbsp;&nbsp;&nbsp; bl (EntGet bn)<br/>&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp; (While (= "ATTRIB" (Cdr (Assoc 0 bl)))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq bl&nbsp;(subst (cons 70<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (if visible<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (assoc 70 bl)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bl<br/>&nbsp;&nbsp;&nbsp;&nbsp;)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (entmod bl)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (entupd bn)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (SetQ bl (EntGet (SetQ bn (EntNext bn))))<br/>&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;)<br/>&nbsp;&nbsp;&nbsp; )</p><p>&nbsp;&nbsp;&nbsp; (setq ss (ssget '((66 . 1))))<br/>&nbsp;&nbsp;&nbsp; (setq n 0)<br/>&nbsp;&nbsp;&nbsp; (repeat (sslength ss)<br/>&nbsp;(setq en (ssname ss n))<br/>&nbsp;(put-visible en t);可见<br/>&nbsp;;(put-visible en nil)不可见<br/>&nbsp;(setq n (1+ n))<br/>&nbsp;&nbsp;&nbsp; )<br/>)</p>

lazybones 发表于 2008-2-28 12:34:00

说过一次了,天正建筑门窗编号在windown_text图层,直接关闭/打开或冻结/解冻该图层就行了

头大无恼 发表于 2008-4-27 16:05:00

<p>能不能改一下,不用输入原属性块的属性值</p><p>只要选择需要修改的图块</p><p>则自动生成属性列表</p><p>如:</p><p>(1)-工程名称</p><p>(2)-图纸比例</p><p>.....</p><p>然后只要输入对应的修改序号就可以 </p>

头大无恼 发表于 2008-4-28 22:46:00

<p>能不能改一下,不用输入原属性块的属性值</p><p>只要选择需要修改的图块</p><p>则自动属性中的标记或者提示,然后列表</p><p>如:</p><p>(1)-工程名称</p><p>(2)-图纸比例</p><p>.....</p>

lionguns 发表于 2008-4-29 15:45:00

学到一招!~~

hdlyt11 发表于 2008-8-13 08:41:00

<p>哈哈哈,踏破铁鞋无觅处,得来全不费功夫,太幸运了</p>

yoyoho 发表于 2008-8-14 08:02:00

<p>感谢诸位对属性块的热烈讨论</p><p>受惠了,谢谢大家!</p>

artken 发表于 2008-8-28 05:05:00

本帖最后由 作者 于 2008-8-28 5:07:49 编辑 <br /><br /> <p><strong><font face="Verdana" color="#da2549">ZZXXQQ</font></strong>能不能帮忙改成这样啊</p><p>1。根据属性的标记改:原来的属性值是不一样的,但都改成一样的</p><p>2. 能不能支持多选,就是(SSGET)选择很多属性块(一个一个块地循环)</p><p>比如:原来有一个块名叫ABC的属性块,其中的一个属性标记是:"体重",这个属性块COPY用了很多次并都改了“体重”的值,这样“体重”的值也就有很多,比如120,130,150,180...现在想一次性将所有“体重”的值全改为“140”。</p><p>能做吗?</p><p></p><p>就跟这个是功能一样,但是执行有错</p><p><a href="http://bbs.mjtd.com/forum.php?mod=viewthread&tid=69928">http://bbs.mjtd.com/forum.php?mod=viewthread&tid=69928</a></p>

xotoo 发表于 2008-8-28 13:37:00

ZZXXQQ发表于2007-10-29 9:25:00static/image/common/back.gif重写一下函数就行了。(DEFUN&nbsp;&nbsp;C:A&nbsp;&nbsp;()&nbsp;&nbsp;(CHATTRIB&nbsp;\"qwer\" \"asdf\")&nbsp;&nbsp;(PRINC))

<p>Z版,为什么我不能正确运行,提示:<font color="#ff0000">错误 : no function definition: CHATTRIB</font></p><p>我的版本为2009,块中需要替换的属性内容为汉字,并且是多行文字……</p>

ZZXXQQ 发表于 2008-8-28 19:53:00

<p>原程序中替换的属性不是多行文字。</p><p>2009没用过,不知是否属性可以用多行文字了。</p><p>上面提示错误是无CHATTRIB函数。要将本贴中CHATTRIB函数加载后才行。定义的函数C:A只是针对一楼楼主的要求写的调用CHATTRIB的函数。</p>
页: 1 2 3 [4] 5 6 7 8 9 10 11 12 13
查看完整版本: 修改块中文字属性值的程序