明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: lee50310

[源码] <<*** TT就可以選物件隱藏,空選則顯示全部,... ***>>>

[复制链接]
发表于 2021-12-18 22:25:24 | 显示全部楼层
664571221 发表于 2021-12-18 16:23
大神你好你这个是选择对象的,能不能在来一个选择图层的,还有我说的来一个  再做一个选择则只显示,空选全 ...

论坛里有很多啊
快捷键  r1  冻结当前视口图层
(defun c:r1 () (command"layfrz""s""v""v"))

快捷键  r2  冻结其他视口图层
(defun c:r2 (/ ent Layer_name)
(setvar "cmdecho" 0)
(setq ent (entsel "\n请在当前视口选择要冻结其他视口图层的对象: "))
(if ent
(progn
(setq ent (entget (car ent)))
(setq Layer_name (cdr (assoc 8 ent)))))
(if (= (getvar "clayer") Layer_name)
(setvar "clayer" "0"))
(command "vplayer" "f" Layer_name "a" "")
(command "vplayer" "t" Layer_name "c" "")
(princ))

快捷键  r``  隔离图层
(defun c:r``(/ ent)
(prompt "\n请选择要隔离的图层,恢复隔离的图层请直接按右键或空格:")
(if (setq ss (ssget))
(command "_.layiso" ss "")
(command "_.layuniso" ""))
(princ))

快捷键  r`  孤立图层
(defun c:r`(/ q)
(prompt "\n请选择要孤立的图层,显示所有图层请直接按右键或空格:")
(setq ss (ssget))
(if (/= ss nil)
(progn
(setq num (sslength ss))
(setq n 0)
(command "layer" "off" "*" "y" "on" "" "")
(repeat num
(setq entlist (entget (ssname ss n)))
(setq lname (cdr (assoc 8 entlist)))
(command "layer" "on" lname "")
(setq n (+ n 1)))
(prompt (itoa num)))
(command "layer" "on" "*" ""))
(princ))
发表于 2021-12-18 22:36:10 | 显示全部楼层
大师 请教下 选择物体按T孤立对象和隐藏对象好像没差别,都是隐藏了  偶尔有下孤立的  什么原因呢

本帖子中包含更多资源

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

x
 楼主| 发表于 2021-12-18 23:33:39 | 显示全部楼层
本帖最后由 lee50310 于 2021-12-19 00:00 编辑
pizi158545086 发表于 2021-12-18 22:36
大师 请教下 选择物体按T孤立对象和隐藏对象好像没差别,都是隐藏了  偶尔有下孤立的  什么原因呢

因為程式使用的是   (setq ss (ssget ))   多選 指令
選擇物體後 不再選取 要按 enter 結束    若要隱藏 再按一次  enter  ,若要孤立按T
所以隱藏 要按 2次 enter 如果覺得按2次 enter 麻煩

可把主程式中的多選  (setq ss (ssget )) 改成單選 (setq ss (ssget  ":s"))   即可      
這樣 只需按一次 enter便是 隱藏   但是改成單選的缺點 在ˊ6 樓有說明


发表于 2021-12-18 23:44:31 | 显示全部楼层
lee50310 发表于 2021-12-18 23:33
因為程式使用的是   (setq ss (ssget ))   多選 指令
選擇物體後 不再選取 要按 enter 結束    若要隱藏 ...

可以孤立了  但是不能多选了  我想要能孤立而且可以多选  能实现吗?
 楼主| 发表于 2021-12-18 23:52:36 | 显示全部楼层
本帖最后由 lee50310 于 2021-12-18 23:54 编辑
pizi158545086 发表于 2021-12-18 23:44
可以孤立了  但是不能多选了  我想要能孤立而且可以多选  能实现吗?



那就是原本程式的寫法 (setq ss (ssget))
多選後 按一次 enter 結束選取  按enter 隱藏
多選後 按一次 enter 結束選取  按T 孤立
发表于 2021-12-18 23:58:31 | 显示全部楼层
lee50310 发表于 2021-12-18 23:52
那就是原本程式的寫法 (setq ss (ssget))
多選後 按一次 enter 結束選取  按enter 隱藏
多選後 按 ...

可能我表达不清晰 ,我用了原先的LSP,我是选择了空格后按T,可是没孤立,反而是隐藏了,GIF里有按键显示

本帖子中包含更多资源

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

x
 楼主| 发表于 2021-12-19 06:42:06 | 显示全部楼层
本帖最后由 lee50310 于 2021-12-19 09:53 编辑
pizi158545086 发表于 2021-12-18 23:58
可能我表达不清晰 ,我用了原先的LSP,我是选择了空格后按T,可是没孤立,反而是隐藏了,GIF里有按键显示 ...

;;  修正 函數名稱 2位數 更改為 3位數 原 tb,tg,tf  改為 teb,teg,tef
;;       原因   2位數時 執行 tg 孤立 不穩 有時正常有時被 隱藏取代
;;                 將函數名稱 改為3 位數 就正常了  

              


发表于 2021-12-19 08:55:50 | 显示全部楼层
孤立和隐藏有什么区别吗、,怎么我用着都隐藏了
发表于 2021-12-19 09:18:03 | 显示全部楼层
lee50310 发表于 2021-12-19 06:42
問題找到了 !  
;;  修正 函數名稱 2位數 更改為 3位數 原 tb,tg,tf  改為 teb,teg,tef
;;       原因 ...

测试了下  这个问题还是存在
 楼主| 发表于 2021-12-19 10:33:44 | 显示全部楼层
本帖最后由 lee50310 于 2021-12-19 10:54 编辑
pizi158545086 发表于 2021-12-19 09:18
测试了下  这个问题还是存在

已修正
請再重新下載測試看看!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-28 21:31 , Processed in 0.251118 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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