明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 341|回复: 7

[提问] 求助关于单开图层的优化

[复制链接]
发表于 2025-3-21 23:14:03 | 显示全部楼层 |阅读模式
5明经币
忘了哪里找的代码,感觉有时候蛮好用的,基于下面此代码。有大师能否帮忙优化成开关当前层吗,就是输入指令时如果是打开状态就关闭,若是关闭时就打开,不知道好不好实现,俺纯小白一个,望大师能出手帮忙!


(DEFUN c:Ds() (command "_layer" "off" "*" "N" "" )
              (princ "\n已单开目前层")(princ))

回复

使用道具 举报

发表于 2025-3-21 23:14:04 | 显示全部楼层
  1. (defun c:ds ()
  2.   "当前图层开关"
  3.   (setq la (getvar 'clayer))
  4.   (if (< (cdr (assoc 62 (entget (tblobjname "layer" la)))) 0)
  5.     (command "-layer" "on" la "")
  6.     (command "-layer" "off" la "")
  7.   )
  8.   (princ)
  9. )
回复

使用道具 举报

发表于 2025-3-22 09:41:40 | 显示全部楼层
(defun C:TT (/ clay)
  (setq clay (tblobjname "LAYER" (getvar "CLAYER"))) ; 获取当前图层对象
  (if clay
    (progn
      (if (= (cdr (assoc 62 (tblobjname "LAYER" (getvar "CLAYER")))) 0) ; 检查图层是否关闭(0为关闭)
        (command "_.LAYER" "_ON" (getvar "CLAYER") "") ; 如果关闭则打开
        (command "_.LAYER" "_OFF" (getvar "CLAYER") "") ; 如果打开则关闭
      )
      (princ (strcat "\n图层 " (getvar "CLAYER") " 已切换状态"))
    )
    (princ "\n错误:无法找到当前图层")
  )
  (princ)
)

点评

缺entget  发表于 2025-3-22 09:56
回复

使用道具 举报

发表于 2025-3-22 09:58:24 | 显示全部楼层

嘿嘿,.......逃不出院长的火眼金睛了
回复

使用道具 举报

 楼主| 发表于 7 天前 | 显示全部楼层
tigcat 发表于 2025-3-22 09:58
嘿嘿,.......逃不出院长的火眼金睛了

谢谢给予参考!最佳答案给院长了哦
回复

使用道具 举报

 楼主| 发表于 7 天前 | 显示全部楼层

搞定了,非常感谢院长出手!
回复

使用道具 举报

发表于 7 天前 | 显示全部楼层
zrlmj 发表于 2025-3-23 09:04
谢谢给予参考!最佳答案给院长了哦

好,我的那个跑不起来,院长的可以。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-3-30 00:56 , Processed in 0.168613 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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