明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1082|回复: 3

[求助]我这样解冻图层有问题吗?

[复制链接]
发表于 2009-1-12 23:21:00 | 显示全部楼层 |阅读模式

代码:

(setq lay_ent (entget (tblobjname "layer" layer)))
(setq l (boole  2 (cdr (assoc 70 lay_ent)) 4 ))
(setq lay_ent (subst (cons 70 l) (assoc 70 lay_ent) lay_ent ))
(entmod lay_ent)

为什么entmod之后,在图层特性管理器里图层的状态都正常,视图里却显示不出图形。

这时候执行regen命令,会有“重生成被排入队列”的提示,并可以显示图形,在家里测试一切正常,但在单位测试的时候却时常失败。

上面是作为一种尝试,使用layer命令比较简单,但感觉速度会慢很多。

上面的代码有问题吗?

 楼主| 发表于 2009-1-20 20:24:00 | 显示全部楼层

哪位大侠知道呀?

发表于 2009-1-21 09:34:00 | 显示全部楼层
本帖最后由 作者 于 2009-1-21 9:48:34 编辑

不过你的boole运算有点问题,如果layer图层冻结也就是为1的时候,1和4的boole运算结果为仍然为1,怎么能解冻呢?

应该是操作为(boole 1 (cdr (assoc 70 l_ent)) (+ 64 32 16 4 2)))

用subst和entmod能在2004和2006版本中冻结和解冻图层,

没发现什么问题,其它版本我没有,也不太清楚

不过一般我操作图层都用vlisp,vla函数

 楼主| 发表于 2009-1-21 14:28:00 | 显示全部楼层

不好意思,贴代码的时候搞错了,应该是:

(setq l (boole  2 (cdr (assoc 70 lay_ent)) 1 ));解冻(2 改为8或者9也没有什么影响)

上面那段是用来解锁的,呵呵...

问题时解冻之后,数据无法显示?有时候用regen也没有效果...


您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-9-28 16:26 , Processed in 0.173142 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表