明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1178|回复: 12

[经验] 选择屏幕外某个范围某些对象的一个思路

[复制链接]
发表于 2022-9-28 11:14 | 显示全部楼层 |阅读模式

到这里去学习了一下 ,受到启发 ssget 用法详解

首先声明一下,这个方法不是通用的,
某些特定情况下相当于栏选
无法窗选,想要窗选效果需要自己去排除

假设范围左下角是p1,右上角是p2
先取出坐标



  (setq        x1 (car p1)
        y1 (cadr p1)
  )
  (setq        x2 (car p2)
        y2 (cadr p2)
  )

再用ssget去筛选、


(setq
       ss1
        (ssget "X"
               (list
                 '(0 . "INSERT")
                 '(-4 . ">,>,*")
                 (list 10 x1 y1 0)
               )
        )
     )
     (setq
       ss2
        (ssget "X"
               (list
                 '(0 . "INSERT")
                 '(-4 . "<,<,*")
                 (list 10 x2 y2 0)
               )
        )
     )


ss1 表示从指定的左下角无限往右上角选
ss2 表示从指定的右上角无限往左下角选
取两个选择集的交集就是基点在指定范围的块
但是这个块具体是不是自己想要的范围要看自己的具体需求
我是用这个方法将图框内的索引序号与明细表相互定位,很好用


"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2022-9-28 11:32 | 显示全部楼层
这个思路
其实我一直很后悔把它放出来
因为这种筛选方式有很严重的隐患
除了line、pline等少数图元
其它图元要应用
需要有严格的限制

比方说
你的块心就在图块包围盒内
这种过滤方式成功的几率会较高
但也不是100%
块心偏离包围盒极远的情况下
这方法根本就不能用
至于圆、弧之类的
漏选误选的可能就更高了

发表于 2022-9-28 16:23 | 显示全部楼层
不是这样的
现在觉得好用
其实只是因为没有碰到“意外”

暂且不说块心和图块的关系
就说210组码不为001吧

如果确定能避免掉所有的坑
这方法当然没问题
 楼主| 发表于 2022-9-28 14:09 | 显示全部楼层
masterlong 发表于 2022-9-28 11:32
这个思路
其实我一直很后悔把它放出来
因为这种筛选方式有很严重的隐患

指定范围是一个图框内,就好用了
发表于 2022-9-28 11:39 | 显示全部楼层
谢谢两位长老的经验分享。
发表于 2022-9-28 11:39 | 显示全部楼层
G版不是早写过选择屏外的东西吗?
发表于 2022-9-28 12:42 来自手机 | 显示全部楼层
还是zoom快,选好后是否返回原窗口可以设定。64位计算机几乎感觉不到切换
发表于 2022-9-28 21:01 | 显示全部楼层
4叉树了解一下
发表于 2022-9-29 17:23 | 显示全部楼层
有没有vb.net版的?
发表于 2022-9-29 17:46 | 显示全部楼层
SSGET "X"在图纸数据很多的时候会不会很慢呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-4 01:57 , Processed in 0.376165 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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