mcxiangxin 发表于 2008-6-3 23:55:00

一个关于:vlax-false问题

<p><font size="4">(setq layer_ob "0")&nbsp;,我想用(vla-get-Freeze layer_ob)判断"0"层是否是冻结状态,如果是冻结,就将其解冻,否则就它冻结.&nbsp;&nbsp;但是程序在运行确老是错误,我知道应该是&nbsp;(if (= (vla-get-Freeze layer_ob)  :vlax-false)&nbsp;&nbsp;这句错了,但不知道怎么改?请高手指点!</font></p><p><font size="4">&nbsp;(if (= (vla-get-Freeze layer_ob) :vlax-false)&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp; (vla-put-Freeze layer_ob -1)<br/>&nbsp;&nbsp;&nbsp;&nbsp; (vla-put-Freeze layer_ob 0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )</font></p>

Andyhon 发表于 2008-6-4 08:50:00

<p>Check here:<br/><a href="http://forums.augi.com/archive/index.php/t-8848.html">http://forums.augi.com/archive/index.php/t-8848.html</a></p><p><a href="http://forums.augi.com/archive/index.php/t-8848.html"></a></p>

Andyhon 发表于 2008-6-4 08:52:00

<p>Check here:<br/><a href="http://forums.augi.com/archive/index.php/t-8848.html">http://forums.augi.com/archive/index.php/t-8848.html</a></p><p><a href="http://forums.augi.com/archive/index.php/t-8848.html"></a></p>

danxingpen 发表于 2008-6-4 08:56:00

在冻结图层时候,先判断该图层是否当前层,,,,,,

caoyin 发表于 2008-6-4 09:56:00

<p><font>(vla-get-Freeze<br/>&nbsp; (vla-item<br/>&nbsp;&nbsp;&nbsp; (vla-get-layers<br/>&nbsp;&nbsp;&nbsp;&nbsp; (vla-get-activedocument (vlax-get-acad-object))<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; layer_ob<br/>&nbsp; )<br/>)</font></p>

mcxiangxin 发表于 2008-6-4 22:58:00

<p><font size="+0">我是想请教,我这段代码为什么判断不出来</font><font size="4">layer_ob图层是"冻结"还是"解冻"的状态?</font></p><p><font size="4">&nbsp;(if (= (vla-get-Freeze layer_ob) :vlax-false)&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp; (vla-put-Freeze layer_ob -1)<br/>&nbsp;&nbsp;&nbsp;&nbsp; (vla-put-Freeze layer_ob 0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )</font></p>

caoyin 发表于 2008-6-5 15:30:00

<p>你的语法不对,我5楼已经说明了</p><p><font size="4">layer_ob 不应是字符串,而是vla图层集合的索引数据</font></p>

mcxiangxin 发表于 2008-6-5 21:52:00

<p><strong><font face="Verdana" color="#61b713">我还是不怎么不明白,请求caoyin大哥帮忙写个完整的.</font></strong><strong><font face="Verdana" color="#61b713">我的目的是要判断"dim"尺寸层的状态.如果该层是冻结状态,就将该层解冻,如果是未冻结状态,就将该层冻结.先谢了.拜托</font></strong></p>

Andyhon 发表于 2008-6-6 08:18:00

<p>请自行判断图层状态,此段代码 Freeze "DIM"</p><p>(vla-put-freeze<br/>&nbsp; (vla-item (vla-get-layers<br/>&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; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "Dim"<br/>&nbsp; )<br/>&nbsp; :vlax-true<br/>)<br/>;; or<br/>(vla-put-freeze<br/>&nbsp; (vlax-ename-&gt;vla-object (tblobjname "layer" "Dim"))<br/>&nbsp; :vlax-true<br/>)</p>
页: [1]
查看完整版本: 一个关于:vlax-false问题