magicheno 发表于 2021-12-12 19:47:26

感谢分享~~~

一张单程票 发表于 2021-12-12 22:47:28

KO你 发表于 2021-12-14 21:31:17

这个是在论坛找到的,如果有高手把这个合并成一个命令就好了,只需要TT就可以选对象隐藏,空选则显示全部,TT选中对象按T就孤立
快捷键tt隐藏选定对象
(defun c:tt (/ ss ssn n)
(princ "\n请选择需要隐藏的对象:")
(setq ss (ssget))
(command "undo" "be")
(setvar "cmdecho" 0)
(setq n 0)
(while (< n (sslength ss))
(setq ssn (ssname ss n))
(setq ssn (entget ssn))
(setq ssn (append ssn '((60 . 1))))
;(setq ssn (cons '(60 . 1) ssn))
(entmod ssn)
(setq n (1+ n)))
(command "undo" "e")
(princ))

快捷键tg隔离选定对象
(defun c:tg ()
(setvar "cmdecho" 0)
(setq ss (ssget))
(command "SELECT" "ALL" "R" ss "")
(setq ss (ssget "P"))
(setq i 0)
(repeat (sslength ss)
(setq sn (ssname ss i))
(setq ent (entget sn))
(setq lx (cdr (assoc 60 ent)))
(if (= lx nil) (progn
(setq a (list (cons 60 1)))
(setq ent (append ent a))
(entmod ent)))
(if (/= lx nil) (progn
(setq ent (subst (cons 60 1) (assoc 60 ent) ent))
(entmod ent)))
(setq i (1+ i)))
(princ))

快捷键tf全部取消隐藏
(defun c:tf (/ ss ssn n)
(setq ss (ssget "x" (list (cons 60 1))))
(command "undo" "be")
(setvar "cmdecho" 0)
(setq n 0)
(while (< n (sslength ss))
(setq ssn (ssname ss n))
(setq ssn (entget ssn))
(setq ssn (subst (cons 60 0) (assoc 60 ssn) ssn))
(entmod ssn)
(setq n (1+ n)))
(command "undo" "e"))

bai2000 发表于 2021-12-15 12:06:14

楼上的想法很好

669423907 发表于 2021-12-15 12:33:23

KO你 发表于 2021-12-14 21:31
这个是在论坛找到的,如果有高手把这个合并成一个命令就好了,只需要TT就可以选对象隐藏,空选则显示全部, ...

就 (ssget"i")搞定了啊

KO你 发表于 2021-12-15 23:29:55

669423907 发表于 2021-12-15 12:33
就 (ssget"i")搞定了啊

要怎么演变我不懂,请大师出招哈

669423907 发表于 2021-12-16 14:23:46

(defun c:13()
(if (setq ss (ssget"i"))
(已选中对象就执行这里的代码)
(没选中对象就执行这里的代码)
) )

KO你 发表于 2021-12-16 21:33:11

669423907 发表于 2021-12-16 14:23
(defun c:13()
(if (setq ss (ssget"i"))
(已选中对象就执行这里的代码)


尴尬了,我还是不懂
大师能直接点吗,把我上面发的三个程序命令组合一下,发个整体程序出来好点。
命令还是TT隐藏,空选确定就全部显示,TT选中对象后命令加一个T就孤立,空选也是全部显示

终身难忘 发表于 2021-12-17 00:02:37

怎么使用

lee50310 发表于 2021-12-17 02:23:22

本帖最后由 lee50310 于 2021-12-17 11:54 编辑

合並成一個命令TT ,這個應該可以實現,只不過要多花一些時間測試


下載位置http://bbs.mjtd.com/forum.php?mod=viewthread&tid=184590&page=1&extra=#pid903644
页: 1 2 3 4 [5] 6
查看完整版本: CAD中实现部分对象隐藏、部分显、全部显示源码