明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3458|回复: 11

[基础] [求助]图层冻结有问题,请求帮助,谢谢!

  [复制链接]
发表于 2010-9-3 09:55:00 | 显示全部楼层 |阅读模式

第一次用到冻结图层,我想把除了选定对象外的其它对象都冻结,下面的写法不行,请给指点一下,非常感谢!

(defun C:tt()
 (setq ename (car (entsel "\n 选择不冻结的对象:")))
 (setq ss (ssget "X" ))
 (ssdel ename ss)
 (COMMAND "LAYER" "F" "" ss "" );除ename所在图层外的其它图层全部冻结,这句怎么写呢?
)

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2010-9-3 10:40:00 | 显示全部楼层
要读对象所在的图层,然后在全部图层中遍历,判断图层名,决定是否要冻结。
 楼主| 发表于 2010-9-3 11:57:00 | 显示全部楼层
mccad发表于2010-9-3 10:40:00要读对象所在的图层,然后在全部图层中遍历,判断图层名,决定是否要冻结。

非常感谢你的指点,看来我得重新思考了,再次谢谢!

发表于 2010-9-3 13:18:00 | 显示全部楼层
  1. (defun C:tt ()
  2.   (setvar "cmdecho" 0)
  3.   (setq s1 (car (entsel "\n选择不冻结的图层对象: "))
  4. la (cdr (assoc 8 (entget s1)))
  5.   )
  6.   (COMMAND "LAYER" "s" la "F" "*" "t" la "")
  7.   (princ)
  8. )
 楼主| 发表于 2010-9-3 13:50:00 | 显示全部楼层

感谢xyp1964老弟的帮助,非常感谢,谢谢!

我原来是把不须要冻结的图层先置这当前,然后用(COMMAND "LAYER" "T" "*"  "");图层全部解冻结

可是在命令行总是出现下面的提示:

“无法冻结图层“转三视图”。它是当前图层”

我想回避这个提示,想改为选择非当前图层的对象,这样在运行时就不出现多余的提示,在命令行输入-layer时选择对象是没问题的,可是用程序(COMMAND "LAYER" "F" "" ss "" )就不知道怎么写了。

你这个方法我学习了虽然没能解决我的问题,但也是不错的方法,我以后会用到的。再次谢谢你。

发表于 2010-9-3 20:03:00 | 显示全部楼层
历遍全图,组成所有图层的列表,删除被选的图层,用foreach循环方式冻结图层
发表于 2010-9-3 20:06:00 | 显示全部楼层
写一个取得所有图层的函数
(defun getapl (/ tbl tc apl)        ;apl所有图层
  (setq tbl (tblnext "layer" t))
  (while (/= tbl nil)
    (setq tc (cdr (assoc 2 tbl)))
    (setq apl (cons tc apl))
    (setq tbl (tblnext "layer" nil))
  )
  (acad_strlsort apl)
)
发表于 2010-9-4 00:05:00 | 显示全部楼层

如果是单选的就简单,取得选择对象的图层,切换到这个图层为当前,然后(command "-LAYER" "F" "*" "")

如果是多选,就要像2楼那样。

 楼主| 发表于 2010-9-4 07:00:00 | 显示全部楼层

谢谢楼上各位的帮助和指点,尤其是对xyp1964lenlenq两位提供代码的朋友表示敬意!

 

 

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2010-12-24 10:46:18 | 显示全部楼层
回复 xhq1954425 的帖子

这个list 怎么实现在运行TT命令后,支持框选多个图层呢?

或者是我先选择不需要被冻结的图层,然后输入TT命令就实现。 怎么修改呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-2 18:19 , Processed in 0.203254 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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