明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2171|回复: 10

[提问] 快速选择快并隐藏

[复制链接]
发表于 2018-12-29 20:35:57 | 显示全部楼层 |阅读模式
10明经币
本帖最后由 cjjh8301 于 2018-12-29 20:39 编辑

1、比如图中有一定数量的块A,输入命了,点取块A的其中一个,自动选中所有块A并且隐藏,命令行中显示出“已隐藏块A:XX个

2、图中有不同的块,输入命令,每种块选一个,回车后选中的所有同名块自动隐藏。

最佳答案

查看完整内容

(defun c:tt (/ block_name en n ss ssn) (while (and (setq en (car (entsel "\n请选择块:"))) (= (vla-get-objectname (Vlax-Ename->Vla-Object en)) "AcDbBlockReference" ) (setq block_name (vla-get-EffectiveName (Vlax-Ename->Vla-Object en)) ) (setq ss (ssget "x" (list (cons 0 "INSERT") (cons 2 block_na ...
发表于 2018-12-29 20:35:58 | 显示全部楼层
(defun c:tt (/ block_name en n ss ssn)
  (while (and (setq en (car (entsel "\n请选择块:")))
              (= (vla-get-objectname (Vlax-Ename->Vla-Object en))
                 "AcDbBlockReference"
              )
              (setq block_name
                     (vla-get-EffectiveName (Vlax-Ename->Vla-Object en))
              )
              (setq ss
                     (ssget
                       "x"
                       (list
                         (cons 0 "INSERT")
                         (cons 2
                               block_name
                         )
                       )
                     )
              )
         )
    (repeat (setq n (sslength ss))
      (setq ssn (ssname ss (setq n (1- n))))
      (vla-put-Visible (vlax-ename->vla-object ssn) 0)
    )
    (princ (strcat "\n已隐藏块:"
                   block_name
                   "  "
                   (itoa (sslength ss))
                   "个"
           )
    )

  )
  (princ)
)

回复

使用道具 举报

发表于 2018-12-30 12:50:34 | 显示全部楼层
明经热心的人挺多 谢谢这些大神们
回复

使用道具 举报

 楼主| 发表于 2018-12-30 18:53:22 | 显示全部楼层
本帖最后由 cjjh8301 于 2018-12-31 12:40 编辑
wszxf 发表于 2018-12-29 22:38
(defun c:tt (/ block_name en n ss ssn)
  (while (and (setq en (car (entsel "\n请选择块:")))
              ...

感谢,这个码可以满足第一个功能,麻烦帮我修改下,输出的块数量是实际数量减1,(比如实际块A有5个,输出“已隐藏块A:4个”);还有就是是第二个功能没有,框选多个块不用统计数量,只是隐藏,能实现吗?


回复

使用道具 举报

发表于 2018-12-30 20:47:11 | 显示全部楼层
隐藏了还要能恢复啊
回复

使用道具 举报

 楼主| 发表于 2018-12-31 12:59:20 | 显示全部楼层
顶顶!!
回复

使用道具 举报

发表于 2018-12-31 17:45:19 | 显示全部楼层
到我那找找,但不是源码
回复

使用道具 举报

发表于 2019-1-1 13:56:53 | 显示全部楼层
wszxf 发表于 2018-12-29 22:38
(defun c:tt (/ block_name en n ss ssn)
  (while (and (setq en (car (entsel "\n请选择块:")))
              ...

这个怎么恢复显示呢
回复

使用道具 举报

 楼主| 发表于 2019-1-2 09:19:21 | 显示全部楼层
一般般 发表于 2019-1-1 13:56
这个怎么恢复显示呢

天正的  显示隐藏  可以显示
回复

使用道具 举报

发表于 2019-1-2 20:12:23 | 显示全部楼层
cjjh8301 发表于 2019-1-2 09:19
天正的  显示隐藏  可以显示

那cad咋整呢
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-18 23:14 , Processed in 0.196342 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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