KO你
发表于 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))
pizi158545086
发表于 2021-12-18 22:36:10
大师 请教下 选择物体按T孤立对象和隐藏对象好像没差别,都是隐藏了偶尔有下孤立的什么原因呢
lee50310
发表于 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 樓有說明
pizi158545086
发表于 2021-12-18 23:44:31
lee50310 发表于 2021-12-18 23:33
因為程式使用的是 (setq ss (ssget )) 多選 指令
選擇物體後 不再選取 要按 enter 結束 若要隱藏 ...
可以孤立了但是不能多选了我想要能孤立而且可以多选能实现吗?
lee50310
发表于 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 孤立
pizi158545086
发表于 2021-12-18 23:58:31
lee50310 发表于 2021-12-18 23:52
那就是原本程式的寫法 (setq ss (ssget))
多選後 按一次 enter 結束選取按enter 隱藏
多選後 按 ...
可能我表达不清晰 ,我用了原先的LSP,我是选择了空格后按T,可是没孤立,反而是隐藏了,GIF里有按键显示
lee50310
发表于 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 位數 就正常了
zm880928
发表于 2021-12-19 08:55:50
孤立和隐藏有什么区别吗、,怎么我用着都隐藏了
pizi158545086
发表于 2021-12-19 09:18:03
lee50310 发表于 2021-12-19 06:42
問題找到了 !
;;修正 函數名稱 2位數 更改為 3位數 原 tb,tg,tf改為 teb,teg,tef
;; 原因 ...
测试了下这个问题还是存在
lee50310
发表于 2021-12-19 10:33:44
本帖最后由 lee50310 于 2021-12-19 10:54 编辑
pizi158545086 发表于 2021-12-19 09:18
测试了下这个问题还是存在
已修正
請再重新下載測試看看!!