明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 746|回复: 11

[提问] (求助)源码 如何把以下框选解锁的图层改成固定图层解锁其它锁定

[复制链接]
发表于 2020-9-18 15:53 | 显示全部楼层 |阅读模式
1明经币
本帖最后由 999999 于 2020-11-20 20:42 编辑

http://bbs.mjtd.com/forum.php?mod=viewthread&tid=100432&highlight=%BD%E2%CB%F8 以上是原贴,,因为我这边有固定的加载图层,想实现一键解锁除:layer1    layer2   layer3   ...   外的其它图层全部锁定
图层名这里没有打全,希望有大神出手帮忙修改解决一下,我之后再加上去,代码如下:
(defun c:uk(/ x)
  (setvar "CMDECHO" 0)
(command "layer" "Lo" "*" "")
  (if (progn (princ "\nSelect Layer to be unlocked:")
            (setq ss (ssget))) (progn
  (setq n 0)
  (repeat (sslength ss)
   (setq ln (cdr(assoc 8 (entget(ssname ss n))))
         n (1+ n))
   (command "layer" "unlock" ln "")
  )
))
(setvar "CMDECHO" 1)
(princ "\n仅解锁选定图元所在图层,锁住其他图层")
(princ )
)


先谢谢大神们的热心帮助

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

最佳答案

查看完整内容

(defun c:uk(/ ln) (setvar "CMDECHO" 0) (setq ln "layer1,layer2,layer3") (command "layer" "Lo" "*" "unlock" ln "") (setvar "CMDECHO" 1) (princ ) )
发表于 2020-9-18 15:54 | 显示全部楼层
(defun c:uk(/ ln)
  (setvar "CMDECHO" 0)
  (setq ln "layer1,layer2,layer3")
  (command "layer" "Lo" "*" "unlock" ln "")
  (setvar "CMDECHO" 1)
  (princ )
)
回复

使用道具 举报

 楼主| 发表于 2020-9-18 19:54 | 显示全部楼层
Andyhon 发表于 2020-9-18 15:54
(defun c:uk(/ ln)
  (setvar "CMDECHO" 0)
  (setq ln "layer1,layer2,layer3")

谢谢大神的热心帮忙,谢谢
回复

使用道具 举报

发表于 2020-9-18 21:57 | 显示全部楼层

以下几个代码配合使用,效果很好,我一直这样从一份大图里面摘取自己需要的某些图层的东西。


(defun c:GTT(/ q);选择一个或几个图层对象,将之外其他所有图层锁定,锁定的图层暗色显示,凸显不锁定图层图元
(COMMAND "LAYISO" "S" "L" "80")
(princ)

)




(DEFUN C:FC ()(COMMAND  "LAYULK" )) ;解锁指定图层


(DEFUN C:FCC ()(COMMAND "-layer""u""*""")(COMMAND "REGEN")) ;所有圖層解鎖

像你的情况,可以把常用的几个图层每个图层画一条线,一组平行线放一起,用的时候命令GTT框选这组平行线,回车,看看效果,应该感觉会不错的。
如果想临时再解锁几个图层,就用FC选择性的挑选个图元点一下。
用完后FCC,一次全部都解锁。
这几个代码搭配使用,我目前感觉还是比较完美的,不知道别人是怎么玩的高级玩法。唯一的缺陷是,遇到非常大的cad文件的时候,会有点运行迟缓。
不过功能方面感觉挺好的,一直也没找到按照这个模式,速度很快的方式。

回复

使用道具 举报

 楼主| 发表于 2020-9-18 22:31 | 显示全部楼层
xj6019 发表于 2020-9-18 21:57
以下几个代码配合使用,效果很好,我一直这样从一份大图里面摘取自己需要的某些图层的东西。

谢谢你哟,GTT的那个功能好像不适合07的CAD,不知道是不是没有那个功能,后面的还可以哟,07的操作图层还是比较快的,最怕的就是很高版本画图了,操作图层真的很卡   然后我想问一下,像解锁指定图层这样的能不能实现框选呀
回复

使用道具 举报

发表于 2020-9-19 11:27 | 显示全部楼层
xj6019 发表于 2020-9-18 21:57
以下几个代码配合使用,效果很好,我一直这样从一份大图里面摘取自己需要的某些图层的东西。

大佬真的牛逼
回复

使用道具 举报

发表于 2020-9-19 12:46 | 显示全部楼层
xj6019 发表于 2020-9-18 21:57
以下几个代码配合使用,效果很好,我一直这样从一份大图里面摘取自己需要的某些图层的东西。

大佬请问下,我执行你的代码,选择锁定图层了,但是我想再执行拉伸,如何做呢,(c:sss)
回复

使用道具 举报

发表于 2020-9-19 12:49 | 显示全部楼层
xj6019 发表于 2020-9-18 21:57
以下几个代码配合使用,效果很好,我一直这样从一份大图里面摘取自己需要的某些图层的东西。

执行了之后就结束了,我试着调用其他命令,调用不了
回复

使用道具 举报

发表于 2020-9-19 13:09 | 显示全部楼层
zj20190405 发表于 2020-9-19 12:46
大佬请问下,我执行你的代码,选择锁定图层了,但是我想再执行拉伸,如何做呢,(c:sss)

http://bbs.mjtd.com/forum.php?mo ... hlight=%C0%AD%C9%EC

拉伸参照这个链接的拉伸代码,非常好
回复

使用道具 举报

发表于 2020-9-19 13:11 | 显示全部楼层
zj20190405 发表于 2020-9-19 12:49
执行了之后就结束了,我试着调用其他命令,调用不了

应该不会呀,不影响什么的,重新加载你的代码再试试
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 01:55 , Processed in 0.242085 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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