Myday 发表于 2008-12-30 22:16:00

[求助]反应器问题:当一个块属性更改时,另一个属性块同时更改!

本帖最后由 作者 于 2008-12-31 20:00:45 编辑

因为反应器中不能使用entnext之类的函数,因此,要用vla函数先查找blocks集合,再找对应的块,查找帮助文件,但没有 GetAttributes 之类函数可用,<pre class="prog_in_0">    ' 更改属性值</pre><pre class="prog_in_0">    ' 注意:没有 SetAttributes。一旦包含</pre><pre class="prog_in_0">    ' 变量数组,就拥有了对象。</pre><pre class="prog_in_0">用vla得到的块属性,不具有属性参照值!!</pre><pre class="prog_in_0">在做对象反应器时,不能用 (vlax-invoke-method xx "getattributes")获得属性值!提示:错误:Automation错误。对象已打开进行通知!看来在编辑块属性时,不能用vlax-invoke函数,还有什么办法?请大家帮忙!</pre>

liu_kunlun 发表于 2008-12-31 08:15:00

在BlockRef实体中,应用GetAttributes返回所有属性实体(AttributeReference)的表.<br/>属性实体(AttributeReference)中,有tagstring及textstring属性供操作

nonsmall 发表于 2008-12-31 09:07:00

<p>blocks集合里不是你要的</p><p>ModelSpace集合里是你要的</p>

Myday 发表于 2008-12-31 17:01:00

怎样不用 (vlax-invoke x "getattributes") 得到属性值?

gysjy 发表于 2008-12-31 19:02:00

<p><font face="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq sn (car (entsel "\n点取物体:"))</font><font face="Courier New">&nbsp;</font></p><p><font face="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s (entget (entnext (cdr (car (entget sn)))))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; st (cdr (assoc 1 s))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )</font></p>
页: [1]
查看完整版本: [求助]反应器问题:当一个块属性更改时,另一个属性块同时更改!